Loading go-apps/meep-tc-sidecar/Dockerfile +1 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,6 @@ COPY ./data / RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends iputils-ping iproute2 iptables conntrack net-tools && rm -rf /var/lib/apt/lists/* RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends iputils-ping iproute2 iptables conntrack net-tools curl && rm -rf /var/lib/apt/lists/* ENTRYPOINT ["/meep-tc-sidecar"] go-apps/meep-virt-engine/server/virt-engine.go +14 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,20 @@ func addScenarioNode(sandboxName string, nodeName string) { log.Error("Error creating charts: ", err) return } } else if mod.IsPhyLoc(nodeType) { node := activeModel.GetNode(nodeName) pl, ok := node.(*dataModel.PhysicalLocation) if !ok { log.Error("Error casting physical location: " + nodeName) return } for _, proc := range pl.Processes { err := Deploy(sandboxName, proc.Name, activeModel) if err != nil { log.Error("Error creating charts for process ", proc.Name, ": ", err) continue } } } else { log.Error("Unsupported node type: ", nodeType) return Loading go-packages/meep-model/model.go +22 −3 Original line number Diff line number Diff line Loading @@ -540,6 +540,7 @@ func (m *Model) addPhyLoc(node *dataModel.ScenarioNode, parentNode *Node) (err e // Get parent Network Location node & context information nl := parentNode.object.(*dataModel.NetworkLocation) nlCtx := parentNode.context.(*NodeContext) // Validate Physical Location if node.NodeDataUnion == nil || node.NodeDataUnion.PhysicalLocation == nil { Loading @@ -551,12 +552,30 @@ func (m *Model) addPhyLoc(node *dataModel.ScenarioNode, parentNode *Node) (err e return err } // Ignore any configured processes pl.Processes = make([]dataModel.Process, 0) // Add PhyLoc to parent NetLoc nl.PhysicalLocations = append(nl.PhysicalLocations, *pl) // Add configured processes for iProc := range pl.Processes { proc := &pl.Processes[iProc] // Create node context (Scenario -> Domain -> Zone -> NetLoc -> PhyLoc) procCtx := NewNodeContext(nlCtx.Parents[Deployment], nlCtx.Parents[Domain], nlCtx.Parents[Zone], nl.Name, pl.Name) // Add to node map and network graph m.nodeMap.AddNode(NewNode(proc.Id, proc.Name, proc.Type_, proc, nil, pl, procCtx)) m.networkGraph.AddNode(proc.Name, pl.Name, false) // Update service map for external processes if proc.IsExternal { var nodeServiceMaps dataModel.NodeServiceMaps nodeServiceMaps.Node = proc.Name nodeServiceMaps.IngressServiceMap = append(nodeServiceMaps.IngressServiceMap, proc.ExternalConfig.IngressServiceMap...) nodeServiceMaps.EgressServiceMap = append(nodeServiceMaps.EgressServiceMap, proc.ExternalConfig.EgressServiceMap...) m.svcMap = append(m.svcMap, nodeServiceMaps) } } return nil } Loading Loading
go-apps/meep-tc-sidecar/Dockerfile +1 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,6 @@ COPY ./data / RUN echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends iputils-ping iproute2 iptables conntrack net-tools && rm -rf /var/lib/apt/lists/* RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends iputils-ping iproute2 iptables conntrack net-tools curl && rm -rf /var/lib/apt/lists/* ENTRYPOINT ["/meep-tc-sidecar"]
go-apps/meep-virt-engine/server/virt-engine.go +14 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,20 @@ func addScenarioNode(sandboxName string, nodeName string) { log.Error("Error creating charts: ", err) return } } else if mod.IsPhyLoc(nodeType) { node := activeModel.GetNode(nodeName) pl, ok := node.(*dataModel.PhysicalLocation) if !ok { log.Error("Error casting physical location: " + nodeName) return } for _, proc := range pl.Processes { err := Deploy(sandboxName, proc.Name, activeModel) if err != nil { log.Error("Error creating charts for process ", proc.Name, ": ", err) continue } } } else { log.Error("Unsupported node type: ", nodeType) return Loading
go-packages/meep-model/model.go +22 −3 Original line number Diff line number Diff line Loading @@ -540,6 +540,7 @@ func (m *Model) addPhyLoc(node *dataModel.ScenarioNode, parentNode *Node) (err e // Get parent Network Location node & context information nl := parentNode.object.(*dataModel.NetworkLocation) nlCtx := parentNode.context.(*NodeContext) // Validate Physical Location if node.NodeDataUnion == nil || node.NodeDataUnion.PhysicalLocation == nil { Loading @@ -551,12 +552,30 @@ func (m *Model) addPhyLoc(node *dataModel.ScenarioNode, parentNode *Node) (err e return err } // Ignore any configured processes pl.Processes = make([]dataModel.Process, 0) // Add PhyLoc to parent NetLoc nl.PhysicalLocations = append(nl.PhysicalLocations, *pl) // Add configured processes for iProc := range pl.Processes { proc := &pl.Processes[iProc] // Create node context (Scenario -> Domain -> Zone -> NetLoc -> PhyLoc) procCtx := NewNodeContext(nlCtx.Parents[Deployment], nlCtx.Parents[Domain], nlCtx.Parents[Zone], nl.Name, pl.Name) // Add to node map and network graph m.nodeMap.AddNode(NewNode(proc.Id, proc.Name, proc.Type_, proc, nil, pl, procCtx)) m.networkGraph.AddNode(proc.Name, pl.Name, false) // Update service map for external processes if proc.IsExternal { var nodeServiceMaps dataModel.NodeServiceMaps nodeServiceMaps.Node = proc.Name nodeServiceMaps.IngressServiceMap = append(nodeServiceMaps.IngressServiceMap, proc.ExternalConfig.IngressServiceMap...) nodeServiceMaps.EgressServiceMap = append(nodeServiceMaps.EgressServiceMap, proc.ExternalConfig.EgressServiceMap...) m.svcMap = append(m.svcMap, nodeServiceMaps) } } return nil } Loading