From 4f36dca026109300888246d3a4ff4e1e7d74aed3 Mon Sep 17 00:00:00 2001 From: Tuna Date: Wed, 24 Aug 2016 00:07:38 +0700 Subject: [PATCH 1/2] fix #121: update all objects, even when port is missing --- pkg/transformer/kubernetes/k8sutils.go | 20 ++++++++++++-------- pkg/transformer/kubernetes/kubernetes.go | 2 ++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/pkg/transformer/kubernetes/k8sutils.go b/pkg/transformer/kubernetes/k8sutils.go index 0d9baf72..f809040b 100644 --- a/pkg/transformer/kubernetes/k8sutils.go +++ b/pkg/transformer/kubernetes/k8sutils.go @@ -225,9 +225,20 @@ func PortsExist(name string, service kobject.ServiceConfig) bool { // create a kubernetes Service func CreateService(name string, service kobject.ServiceConfig, objects []runtime.Object) *api.Service { - svc := InitSvc(name, service) + // Configure the service ports. + servicePorts := ConfigServicePorts(name, service) + svc.Spec.Ports = servicePorts + + // Configure annotations + annotations := transformer.ConfigAnnotations(service) + svc.ObjectMeta.Annotations = annotations + + return svc +} + +func UpdateKubernetesObjects(name string, service kobject.ServiceConfig, objects []runtime.Object) { // Configure the environment variables. envs := ConfigEnvs(name, service) @@ -240,13 +251,8 @@ func CreateService(name string, service kobject.ServiceConfig, objects []runtime // Configure the container ports. ports := ConfigPorts(name, service) - // Configure the service ports. - servicePorts := ConfigServicePorts(name, service) - svc.Spec.Ports = servicePorts - // Configure annotations annotations := transformer.ConfigAnnotations(service) - svc.ObjectMeta.Annotations = annotations // fillTemplate fills the pod template with the value calculated from config fillTemplate := func(template *api.PodTemplateSpec) { @@ -289,6 +295,4 @@ func CreateService(name string, service kobject.ServiceConfig, objects []runtime for _, obj := range objects { UpdateController(obj, fillTemplate, fillObjectMeta) } - - return svc } diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index 7fe5501e..49ed3ebe 100644 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -245,6 +245,8 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject. objects = append(objects, svc) } + UpdateKubernetesObjects(name, service, objects) + allobjects = append(allobjects, objects...) } From c038b184f149cf4fe15b9ce54eba7c7206f6f2d3 Mon Sep 17 00:00:00 2001 From: Tuna Date: Wed, 24 Aug 2016 00:34:16 +0700 Subject: [PATCH 2/2] follow-up: update for openshift --- pkg/transformer/openshift/openshift.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/transformer/openshift/openshift.go b/pkg/transformer/openshift/openshift.go index 2fb73760..d3acb7e6 100644 --- a/pkg/transformer/openshift/openshift.go +++ b/pkg/transformer/openshift/openshift.go @@ -78,6 +78,9 @@ func (k *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C svc := kubernetes.CreateService(name, service, objects) objects = append(objects, svc) } + + kubernetes.UpdateKubernetesObjects(name, service, objects) + allobjects = append(allobjects, objects...) }