pull/32367/merge
Rishav Agarwal 2 days ago committed by GitHub
commit 1717dd41bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -257,7 +257,7 @@ func (r *Rollback) performRollback(currentRelease, targetRelease *release.Releas
targetRelease.Info.Description = msg
r.cfg.recordRelease(currentRelease)
r.cfg.recordRelease(targetRelease)
if r.CleanupOnFail {
if r.CleanupOnFail && results != nil && len(results.Created) > 0 {
r.cfg.Logger().Debug("cleanup on fail set, cleaning up resources", "count", len(results.Created))
_, errs := r.cfg.KubeClient.Delete(results.Created, metav1.DeletePropagationBackground)
if errs != nil {

@ -60,6 +60,42 @@ func TestRollbackRun_UnreachableKubeClient(t *testing.T) {
assert.Error(t, client.Run(""))
}
func TestRollbackRelease_CleanupOnFailSkipsEmptyCreated(t *testing.T) {
is := assert.New(t)
req := require.New(t)
config := actionConfigFixture(t)
rel1 := releaseStub()
rel1.Name = "rollback-cleanup"
rel1.Version = 1
rel1.Info.Status = common.StatusSuperseded
rel1.ApplyMethod = "csa"
req.NoError(config.Releases.Create(rel1))
rel2 := releaseStub()
rel2.Name = "rollback-cleanup"
rel2.Version = 2
rel2.Info.Status = common.StatusDeployed
rel2.ApplyMethod = "csa"
req.NoError(config.Releases.Create(rel2))
failer := config.KubeClient.(*kubefake.FailingKubeClient)
failer.UpdateError = errors.New("update failed")
failer.DeleteError = errors.New("delete should not run")
config.KubeClient = failer
client := NewRollback(config)
client.Version = 1
client.CleanupOnFail = true
client.ServerSideApply = "auto"
err := client.Run("rollback-cleanup")
req.Error(err)
is.Contains(err.Error(), "update failed")
is.NotContains(err.Error(), "unable to cleanup resources")
is.NotContains(err.Error(), "delete should not run")
}
func TestRollback_WaitOptionsPassedDownstream(t *testing.T) {
is := assert.New(t)
req := require.New(t)

Loading…
Cancel
Save