Skip to content

Commit

Permalink
Remove finalizers from referenced resources first
Browse files Browse the repository at this point in the history
Signed-off-by: Branden Rolston <[email protected]>
(cherry picked from commit 220ca4d)
  • Loading branch information
branden authored and github-actions[bot] committed Sep 15, 2022
1 parent 13ee039 commit e3c8573
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
22 changes: 11 additions & 11 deletions internal/controller/object/object.go
Original file line number Diff line number Diff line change
Expand Up @@ -533,18 +533,8 @@ func (f *objFinalizer) RemoveFinalizer(ctx context.Context, res resource.Object)
return errors.New(errNotKubernetesObject)
}

if !meta.FinalizerExists(obj, objFinalizerName) {
return nil
}
meta.RemoveFinalizer(obj, objFinalizerName)

err := f.client.Update(ctx, obj)
if err != nil {
return errors.Wrap(err, errRemoveFinalizer)
}

// Remove finalizer from referenced resources if exists
err = f.handleRefFinalizer(ctx, obj, func(
err := f.handleRefFinalizer(ctx, obj, func(
ctx context.Context, res *unstructured.Unstructured, finalizer string) error {
if meta.FinalizerExists(res, finalizer) {
meta.RemoveFinalizer(res, finalizer)
Expand All @@ -554,5 +544,15 @@ func (f *objFinalizer) RemoveFinalizer(ctx context.Context, res resource.Object)
}
return nil
})
if err != nil {
return errors.Wrap(err, errRemoveFinalizer)
}

if !meta.FinalizerExists(obj, objFinalizerName) {
return nil
}
meta.RemoveFinalizer(obj, objFinalizerName)

err = f.client.Update(ctx, obj)
return errors.Wrap(err, errRemoveFinalizer)
}
2 changes: 1 addition & 1 deletion internal/controller/object/object_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1364,7 +1364,7 @@ func Test_objFinalizer_RemoveFinalizer(t *testing.T) {
err: errors.Wrap(
errors.Wrap(errBoom,
errRemoveReferenceFinalizer), errRemoveFinalizer),
finalizers: []string{},
finalizers: []string{objFinalizerName},
},
},
"Success": {
Expand Down

0 comments on commit e3c8573

Please sign in to comment.