New deploy should clean up objects it created if there are errors (#1040)

The PR cleans up resources left behind if there is an error while creating resources for new deployment executor functions
This commit is contained in:
Vishal
2019-01-11 13:27:02 +05:30
committed by GitHub
parent 16efdaa25c
commit ad4c4cd014
2 changed files with 35 additions and 27 deletions
+24
View File
@@ -24,6 +24,7 @@ import (
"path/filepath"
"time"
"github.com/hashicorp/go-multierror"
asv1 "k8s.io/api/autoscaling/v1"
apiv1 "k8s.io/api/core/v1"
"k8s.io/api/extensions/v1beta1"
@@ -508,3 +509,26 @@ func (deploy *NewDeploy) waitForDeploy(depl *v1beta1.Deployment, replicas int32)
}
return nil, errors.New("failed to create deployment within timeout window")
}
func (deploy *NewDeploy) cleanupNewdeploy(ns string, name string) error {
var multierr *multierror.Error
err := deploy.deleteSvc(ns, name)
if err != nil {
log.Printf("Error deleting service for newdeploy function %v in namespace %v, error: %v", name, ns, err)
multierror.Append(multierr, err)
}
err = deploy.deleteHpa(ns, name)
if err != nil {
log.Printf("Error deleting HPA for newdeploy function %v in namespace %v, error: %v", name, ns, err)
multierror.Append(multierr, err)
}
err = deploy.deleteDeployment(ns, name)
if err != nil {
log.Printf("Error deleting deployment for newdeploy function %v in namespace %v, error: %v", name, ns, err)
multierror.Append(multierr, err)
}
return multierr.ErrorOrNil()
}