Loading charts/meep-virt-engine/virt-templates/defaultDir/templates/service.yaml +14 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,20 @@ spec: - port: {{.port}} targetPort: {{.targetPort}} protocol: {{.protocol}} {{if .mesvcname}} --- kind: Service apiVersion: v1 metadata: name: {{.mesvcname}} namespace: default spec: type: ClusterIP ports: - port: {{.port}} targetPort: {{.targetPort}} protocol: {{.protocol}} {{end}} {{- end}} {{- end}} Loading go-apps/meep-mg-manager/server/mg-manager.go +7 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,13 @@ func parseScenario(scenario ceModel.Scenario) { userChartGroup := strings.Split(proc.UserChartGroup, ":") addServiceInfo(userChartGroup[0], userChartGroup[1], proc.Name) } // Store information from external config if proc.ExternalConfig != nil { for _, svcMap := range proc.ExternalConfig.EgressServiceMap { addServiceInfo(svcMap.Name, svcMap.MeSvcName, proc.Name) } } } } } Loading go-apps/meep-tc-engine/server/tc-engine.go +1 −1 Original line number Diff line number Diff line Loading @@ -1017,7 +1017,7 @@ func applyMgSvcMapping() { keys := map[string]bool{} // For each pod, add MG Service LB rules & exposed services rules // For each pod, add MG, ingress & egress Service LB rules for _, podInfo := range podInfoMap { // MG Service LB rules Loading go-apps/meep-virt-engine/server/chart_template.go +19 −10 Original line number Diff line number Diff line Loading @@ -262,24 +262,33 @@ func populateScenarioTemplate(scenario model.Scenario) ([]helm.Chart, error) { addExtSelector(externalTemplate, "meepAppId: "+proc.Id) // Add ingress Service Maps, if any for _, serviceMap := range proc.ExternalConfig.IngressServiceMap { for _, svcMap := range proc.ExternalConfig.IngressServiceMap { var ingressSvcTemplate IngressServiceTemplate ingressSvcTemplate.NodePort = strconv.Itoa(int(serviceMap.ExternalPort)) ingressSvcTemplate.Port = strconv.Itoa(int(serviceMap.Port)) ingressSvcTemplate.Protocol = serviceMap.Protocol ingressSvcTemplate.NodePort = strconv.Itoa(int(svcMap.ExternalPort)) ingressSvcTemplate.Port = strconv.Itoa(int(svcMap.Port)) ingressSvcTemplate.Protocol = svcMap.Protocol ingressSvcTemplate.Name = "ingress-" + proc.Id + "-" + ingressSvcTemplate.NodePort externalTemplate.IngressServiceMap = append(externalTemplate.IngressServiceMap, ingressSvcTemplate) } // Add egress Service Maps, if any for _, serviceMap := range proc.ExternalConfig.EgressServiceMap { for _, svcMap := range proc.ExternalConfig.EgressServiceMap { var egressSvcTemplate EgressServiceTemplate egressSvcTemplate.Name = serviceMap.Name egressSvcTemplate.MeSvcName = serviceMap.MeSvcName egressSvcTemplate.IP = serviceMap.Ip egressSvcTemplate.Port = strconv.Itoa(int(serviceMap.Port)) egressSvcTemplate.Protocol = serviceMap.Protocol egressSvcTemplate.Name = svcMap.Name egressSvcTemplate.IP = svcMap.Ip egressSvcTemplate.Port = strconv.Itoa(int(svcMap.Port)) egressSvcTemplate.Protocol = svcMap.Protocol // Create and store ME Service template only with first occurrence. // If it already exists then add the matching pod label but don't create the service again. meSvcName := svcMap.MeSvcName if meSvcName != "" { if _, found := serviceMap[meSvcName]; !found { serviceMap[meSvcName] = "meepMeSvc: " + meSvcName egressSvcTemplate.MeSvcName = meSvcName } } externalTemplate.EgressServiceMap = append(externalTemplate.EgressServiceMap, egressSvcTemplate) } Loading Loading
charts/meep-virt-engine/virt-templates/defaultDir/templates/service.yaml +14 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,20 @@ spec: - port: {{.port}} targetPort: {{.targetPort}} protocol: {{.protocol}} {{if .mesvcname}} --- kind: Service apiVersion: v1 metadata: name: {{.mesvcname}} namespace: default spec: type: ClusterIP ports: - port: {{.port}} targetPort: {{.targetPort}} protocol: {{.protocol}} {{end}} {{- end}} {{- end}} Loading
go-apps/meep-mg-manager/server/mg-manager.go +7 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,13 @@ func parseScenario(scenario ceModel.Scenario) { userChartGroup := strings.Split(proc.UserChartGroup, ":") addServiceInfo(userChartGroup[0], userChartGroup[1], proc.Name) } // Store information from external config if proc.ExternalConfig != nil { for _, svcMap := range proc.ExternalConfig.EgressServiceMap { addServiceInfo(svcMap.Name, svcMap.MeSvcName, proc.Name) } } } } } Loading
go-apps/meep-tc-engine/server/tc-engine.go +1 −1 Original line number Diff line number Diff line Loading @@ -1017,7 +1017,7 @@ func applyMgSvcMapping() { keys := map[string]bool{} // For each pod, add MG Service LB rules & exposed services rules // For each pod, add MG, ingress & egress Service LB rules for _, podInfo := range podInfoMap { // MG Service LB rules Loading
go-apps/meep-virt-engine/server/chart_template.go +19 −10 Original line number Diff line number Diff line Loading @@ -262,24 +262,33 @@ func populateScenarioTemplate(scenario model.Scenario) ([]helm.Chart, error) { addExtSelector(externalTemplate, "meepAppId: "+proc.Id) // Add ingress Service Maps, if any for _, serviceMap := range proc.ExternalConfig.IngressServiceMap { for _, svcMap := range proc.ExternalConfig.IngressServiceMap { var ingressSvcTemplate IngressServiceTemplate ingressSvcTemplate.NodePort = strconv.Itoa(int(serviceMap.ExternalPort)) ingressSvcTemplate.Port = strconv.Itoa(int(serviceMap.Port)) ingressSvcTemplate.Protocol = serviceMap.Protocol ingressSvcTemplate.NodePort = strconv.Itoa(int(svcMap.ExternalPort)) ingressSvcTemplate.Port = strconv.Itoa(int(svcMap.Port)) ingressSvcTemplate.Protocol = svcMap.Protocol ingressSvcTemplate.Name = "ingress-" + proc.Id + "-" + ingressSvcTemplate.NodePort externalTemplate.IngressServiceMap = append(externalTemplate.IngressServiceMap, ingressSvcTemplate) } // Add egress Service Maps, if any for _, serviceMap := range proc.ExternalConfig.EgressServiceMap { for _, svcMap := range proc.ExternalConfig.EgressServiceMap { var egressSvcTemplate EgressServiceTemplate egressSvcTemplate.Name = serviceMap.Name egressSvcTemplate.MeSvcName = serviceMap.MeSvcName egressSvcTemplate.IP = serviceMap.Ip egressSvcTemplate.Port = strconv.Itoa(int(serviceMap.Port)) egressSvcTemplate.Protocol = serviceMap.Protocol egressSvcTemplate.Name = svcMap.Name egressSvcTemplate.IP = svcMap.Ip egressSvcTemplate.Port = strconv.Itoa(int(svcMap.Port)) egressSvcTemplate.Protocol = svcMap.Protocol // Create and store ME Service template only with first occurrence. // If it already exists then add the matching pod label but don't create the service again. meSvcName := svcMap.MeSvcName if meSvcName != "" { if _, found := serviceMap[meSvcName]; !found { serviceMap[meSvcName] = "meepMeSvc: " + meSvcName egressSvcTemplate.MeSvcName = meSvcName } } externalTemplate.EgressServiceMap = append(externalTemplate.EgressServiceMap, egressSvcTemplate) } Loading