From 848534a8f1911cc59a5fbd4f55d7816eaff20aa2 Mon Sep 17 00:00:00 2001 From: Sunny Date: Thu, 9 Dec 2021 03:42:54 +0530 Subject: [PATCH] bucket: Ignore patch error not found on delete Ignore "not found" error while patching when the delete timestamp is set. Signed-off-by: Sunny --- controllers/bucket_controller.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/controllers/bucket_controller.go b/controllers/bucket_controller.go index c65feea5..9dc8dbff 100644 --- a/controllers/bucket_controller.go +++ b/controllers/bucket_controller.go @@ -35,6 +35,7 @@ import ( "golang.org/x/sync/semaphore" "google.golang.org/api/option" corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" @@ -167,6 +168,10 @@ func (r *BucketReconciler) Reconcile(ctx context.Context, req ctrl.Request) (res // Finally, patch the resource if err := patchHelper.Patch(ctx, obj, patchOpts...); err != nil { + // Ignore patch error "not found" when the object is being deleted. + if !obj.ObjectMeta.DeletionTimestamp.IsZero() { + err = kerrors.FilterOut(err, func(e error) bool { return apierrors.IsNotFound(e) }) + } retErr = kerrors.NewAggregate([]error{retErr, err}) }