From a3a82f55fe961ed14053b880e08e5838a9875e66 Mon Sep 17 00:00:00 2001 From: Hang Yan Date: Fri, 27 Dec 2019 13:26:25 +0800 Subject: [PATCH] Use service name when image name is empty when build (#1213) --- pkg/transformer/kubernetes/kubernetes.go | 15 ++++++++++----- pkg/transformer/openshift/openshift.go | 13 ++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index 0ab116a0..9f646ae6 100755 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -125,6 +125,11 @@ func (k *Kubernetes) CheckUnsupportedKey(komposeObject *kobject.KomposeObject, u // InitPodSpec creates the pod specification func (k *Kubernetes) InitPodSpec(name string, image string, pullSecret string) api.PodSpec { + + if image == "" { + image = name + } + pod := api.PodSpec{ Containers: []api.Container{ { @@ -1018,6 +1023,11 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject. // Lastly, we must have an Image name to continue if opt.Build == "local" && opt.InputFiles != nil && service.Build != "" { + // If there's no "image" key, use the name of the container that's built + if service.Image == "" { + service.Image = name + } + if service.Image == "" { return nil, fmt.Errorf("image key required within build parameters in order to build and push service '%s'", name) } @@ -1040,11 +1050,6 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject. } } - // If there's no "image" key, use the name of the container that's built - if service.Image == "" { - service.Image = name - } - // Generate pod only and nothing more if service.Restart == "no" || service.Restart == "on-failure" { // Error out if Controller Object is specified with restart: 'on-failure' diff --git a/pkg/transformer/openshift/openshift.go b/pkg/transformer/openshift/openshift.go index 17945e86..9fdd4a11 100644 --- a/pkg/transformer/openshift/openshift.go +++ b/pkg/transformer/openshift/openshift.go @@ -74,6 +74,9 @@ var unsupportedKey = map[string]bool{} // initImageStream initializes ImageStream object func (o *OpenShift) initImageStream(name string, service kobject.ServiceConfig, opt kobject.ConvertOptions) *imageapi.ImageStream { + if service.Image == "" { + service.Image = name + } // Retrieve tags and image name for mapping tag := GetImageTag(service.Image) @@ -309,6 +312,11 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C // Lastly, we must have an Image name to continue if opt.Build == "local" && opt.InputFiles != nil && service.Build != "" { + // If there's no "image" key, use the name of the container that's built + if service.Image == "" { + service.Image = name + } + if service.Image == "" { return nil, fmt.Errorf("image key required within build parameters in order to build and push service '%s'", name) } @@ -329,11 +337,6 @@ func (o *OpenShift) Transform(komposeObject kobject.KomposeObject, opt kobject.C } - // If there's no "image" key, use the name of the container that's built - if service.Image == "" { - service.Image = name - } - // Generate pod only and nothing more if service.Restart == "no" || service.Restart == "on-failure" { // Error out if Controller Object is specified with restart: 'on-failure'