From 8e0de50d38a49837588e273a1ca305eff65de736 Mon Sep 17 00:00:00 2001 From: Charlie Drage Date: Mon, 3 Apr 2017 11:52:01 -0400 Subject: [PATCH] Revert "Kompose will keep trying its job" --- pkg/app/app.go | 4 +-- pkg/transformer/kubernetes/kubernetes.go | 39 +++++++++----------- pkg/transformer/openshift/openshift.go | 45 +++++++++++------------- pkg/transformer/transformer.go | 2 +- 4 files changed, 40 insertions(+), 50 deletions(-) diff --git a/pkg/app/app.go b/pkg/app/app.go index e0df1adb1..87aaad135 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -287,9 +287,7 @@ func Down(opt kobject.ConvertOptions) { //Remove deployed application errUndeploy := t.Undeploy(komposeObject, opt) if errUndeploy != nil { - for _, err = range errUndeploy { - log.Fatalf("Error while deleting application: %s", err) - } + log.Fatalf("Error while deleting application: %s", errUndeploy) } } diff --git a/pkg/transformer/kubernetes/kubernetes.go b/pkg/transformer/kubernetes/kubernetes.go index 728a07e6e..ed12322b8 100644 --- a/pkg/transformer/kubernetes/kubernetes.go +++ b/pkg/transformer/kubernetes/kubernetes.go @@ -691,18 +691,17 @@ func (k *Kubernetes) Deploy(komposeObject kobject.KomposeObject, opt kobject.Con } // Undeploy deletes deployed objects from Kubernetes cluster -func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []error { - var errorList []error +func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) error { //Convert komposeObject objects, err := k.Transform(komposeObject, opt) if err != nil { - errorList = append(errorList, err) + return errors.Wrap(err, "k.Transform failed") } client, namespace, err := k.GetKubernetesClient() if err != nil { - errorList = append(errorList, err) + return err } for _, v := range objects { @@ -714,22 +713,20 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C //delete deployment deployment, err := client.Deployments(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } //FIXME: gracePeriod is nil err = rpDeployment.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) - + return err } log.Infof("Successfully deleted Deployment: %s", t.Name) - } } @@ -737,21 +734,20 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C //delete svc svc, err := client.Services(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } //FIXME: gracePeriod is nil err = rpService.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted Service: %s", t.Name) - } } @@ -759,13 +755,13 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C // delete pvc pvc, err := client.PersistentVolumeClaims(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } log.Infof("Successfully deleted PersistentVolumeClaim: %s", t.Name) } @@ -781,14 +777,14 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C } ingress, err := client.Ingress(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } for _, l := range ingress.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { err = client.Ingress(namespace).Delete(t.Name, ingDeleteOptions) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted Ingress: %s", t.Name) } @@ -798,24 +794,23 @@ func (k *Kubernetes) Undeploy(komposeObject kobject.KomposeObject, opt kobject.C //delete pod pod, err := client.Pods(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } for _, l := range pod.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { rpPod, err := kubectl.ReaperFor(api.Kind("Pod"), client) if err != nil { - errorList = append(errorList, err) + return err } //FIXME: gracePeriod is nil err = rpPod.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted Pod: %s", t.Name) } } } } - - return errorList + return nil } diff --git a/pkg/transformer/openshift/openshift.go b/pkg/transformer/openshift/openshift.go index 5b1a6d4d1..6a41d5663 100644 --- a/pkg/transformer/openshift/openshift.go +++ b/pkg/transformer/openshift/openshift.go @@ -495,21 +495,20 @@ func (o *OpenShift) Deploy(komposeObject kobject.KomposeObject, opt kobject.Conv } //Undeploy removes deployed artifacts from OpenShift cluster -func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []error { - var errorList []error +func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) error { //Convert komposeObject objects, err := o.Transform(komposeObject, opt) if err != nil { - errorList = append(errorList, err) + return errors.Wrap(err, "o.Transform failed") } oclient, err := o.getOpenShiftClient() if err != nil { - errorList = append(errorList, err) + return err } kclient, namespace, err := o.GetKubernetesClient() if err != nil { - errorList = append(errorList, err) + return err } for _, v := range objects { @@ -521,13 +520,13 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co //delete imageStream imageStream, err := oclient.ImageStreams(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } log.Infof("Successfully deleted ImageStream: %s", t.Name) } @@ -537,13 +536,13 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co //options := api.ListOptions{LabelSelector: label} buildConfig, err := oclient.BuildConfigs(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } log.Infof("Successfully deleted BuildConfig: %s", t.Name) } @@ -553,14 +552,14 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co // delete deploymentConfig deploymentConfig, err := oclient.DeploymentConfigs(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } for _, l := range deploymentConfig.Items { if reflect.DeepEqual(l.Labels, komposeLabel) { dcreaper := deploymentconfigreaper.NewDeploymentConfigReaper(oclient, kclient) err := dcreaper.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted DeploymentConfig: %s", t.Name) } @@ -570,18 +569,18 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co //delete svc svc, err := kclient.Services(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } //FIXME: gracePeriod is nil err = rpService.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted Service: %s", t.Name) } @@ -591,13 +590,13 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co // delete pvc pvc, err := kclient.PersistentVolumeClaims(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } log.Infof("Successfully deleted PersistentVolumeClaim: %s", t.Name) } @@ -607,13 +606,13 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co // delete route route, err := oclient.Routes(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } log.Infof("Successfully deleted Route: %s", t.Name) } @@ -623,25 +622,23 @@ func (o *OpenShift) Undeploy(komposeObject kobject.KomposeObject, opt kobject.Co //delete pods pod, err := kclient.Pods(namespace).List(options) if err != nil { - errorList = append(errorList, err) + return err } 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) + return err } - //FIXME: gracePeriod is nil err = rpPod.Stop(namespace, t.Name, TIMEOUT*time.Second, nil) if err != nil { - errorList = append(errorList, err) + return err } log.Infof("Successfully deleted Pod: %s", t.Name) - } } } } - return errorList + return nil } diff --git a/pkg/transformer/transformer.go b/pkg/transformer/transformer.go index 62fac9e8c..9919ee319 100644 --- a/pkg/transformer/transformer.go +++ b/pkg/transformer/transformer.go @@ -28,5 +28,5 @@ type Transformer interface { // Deploy deploys KomposeObject to provider Deploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) error // Undeploy deletes/undeploys KomposeObject from provider - Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) []error + Undeploy(komposeObject kobject.KomposeObject, opt kobject.ConvertOptions) error }