diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index 728a07e6..784ce5b5 100644 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -695,14 +695,15 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C var errorList []error //Convert komposeObject objects, err := k.Transform(komposeObject, opt) - if err != nil { errorList = append(errorList, err) + return errorList } client, namespace, err := k.GetKubernetesClient() if err != nil { errorList = append(errorList, err) + return errorList } for _, v := range objects { @@ -715,18 +716,20 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C deployment, err := client.Deployments(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range deployment.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { rpDeployment, err := kubectl.ReaperFor(extensions.Kind("Deployment"), client) if err != nil { errorList = append(errorList, err) + break } //FIXME: gracePeriod is nil err = rpDeployment.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) - + break } log.Infof("Successfully deleted Deployment: %s", t.Name) @@ -738,17 +741,20 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C svc, err := client.Services(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range svc.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { rpService, err := kubectl.ReaperFor(api.Kind("Service"), client) if err != nil { errorList = append(errorList, err) + break } //FIXME: gracePeriod is nil err = rpService.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Service: %s", t.Name) @@ -760,12 +766,14 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C pvc, err := client.PersistentVolumeClaims(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range pvc.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err = client.PersistentVolumeClaims(namespace).Delete(t.Name) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted PersistentVolumeClaim: %s", t.Name) } @@ -782,6 +790,7 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C ingress, err := client.Ingress(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range ingress.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { @@ -789,6 +798,7 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C err = client.Ingress(namespace).Delete(t.Name, ingDeleteOptions) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Ingress: %s", t.Name) } @@ -805,11 +815,13 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C rpPod, err := kubectl.ReaperFor(api.Kind("Pod"), client) if err != nil { errorList = append(errorList, err) + break } //FIXME: gracePeriod is nil err = rpPod.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Pod: %s", t.Name) } diff --git a/pkg/transformer/openshift/openshift.go b/pkg/transformer/openshift/openshift.go index 5b1a6d4d..615d2091 100644 --- a/pkg/transformer/openshift/openshift.go +++ b/pkg/transformer/openshift/openshift.go @@ -502,14 +502,17 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co if err != nil { errorList = append(errorList, err) + return errorList } oclient, err := o.getOpenShiftClient() if err != nil { errorList = append(errorList, err) + return errorList } kclient, namespace, err := o.GetKubernetesClient() if err != nil { errorList = append(errorList, err) + return errorList } for _, v := range objects { @@ -522,12 +525,14 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co imageStream, err := oclient.ImageStreams(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range imageStream.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err = oclient.ImageStreams(namespace).Delete(t.Name) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted ImageStream: %s", t.Name) } @@ -538,12 +543,14 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co buildConfig, err := oclient.BuildConfigs(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range buildConfig.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err := oclient.BuildConfigs(namespace).Delete(t.Name) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted BuildConfig: %s", t.Name) } @@ -554,6 +561,7 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co deploymentConfig, err := oclient.DeploymentConfigs(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range deploymentConfig.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { @@ -561,6 +569,7 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co err := dcreaper.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted DeploymentConfig: %s", t.Name) } @@ -571,17 +580,20 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co svc, err := kclient.Services(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range svc.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { rpService, err := kubectl.ReaperFor(api.Kind("Service"), kclient) if err != nil { errorList = append(errorList, err) + break } //FIXME: gracePeriod is nil err = rpService.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Service: %s", t.Name) } @@ -592,12 +604,14 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co pvc, err := kclient.PersistentVolumeClaims(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range pvc.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err = kclient.PersistentVolumeClaims(namespace).Delete(t.Name) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted PersistentVolumeClaim: %s", t.Name) } @@ -608,12 +622,14 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co route, err := oclient.Routes(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range route.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err = oclient.Routes(namespace).Delete(t.Name) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Route: %s", t.Name) } @@ -624,18 +640,21 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co pod, err := kclient.Pods(namespace).List(options) if err != nil { errorList = append(errorList, err) + break } for _, l := range pod.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { rpPod, err := kubectl.ReaperFor(api.Kind("Pod"), kclient) if err != nil { errorList = append(errorList, err) + break } //FIXME: gracePeriod is nil err = rpPod.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { errorList = append(errorList, err) + break } log.Infof("Successfully deleted Pod: %s", t.Name)