Skip to content

Commit

Permalink
Merge pull request #535 from kubernetes-incubator/revert-477-keep_try…
Browse files Browse the repository at this point in the history
…ing_job

Revert "Kompose will keep trying its job"
  • Loading branch information
kadel authored Apr 3, 2017
2 parents 14a5ed3 + 8e0de50 commit dccd89a
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 50 deletions.
4 changes: 1 addition & 3 deletions pkg/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}

}
Expand Down
39 changes: 17 additions & 22 deletions pkg/transformer/kubernetes/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -714,58 +713,55 @@ 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)

}
}

case *api.Service:
//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)

}
}

case *api.PersistentVolumeClaim:
// 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)
}
Expand All @@ -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)
}
Expand All @@ -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
}
45 changes: 21 additions & 24 deletions pkg/transformer/openshift/openshift.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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)
}
Expand All @@ -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)
}
Expand All @@ -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)
}
Expand All @@ -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)
}
Expand All @@ -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)
}
Expand All @@ -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)
}
Expand All @@ -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
}
2 changes: 1 addition & 1 deletion pkg/transformer/transformer.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit dccd89a

Please sign in to comment.