From d0eb443c4c772d33f6a91b50c5b5cdcec1efbfbc Mon Sep 17 00:00:00 2001 From: Bogusz Przybyslawski Date: Fri, 25 Apr 2025 16:15:37 +0200 Subject: [PATCH] Remove ContainsFinalizer check before adding it --- .../src/cronjob-tutorial/testdata/finalizer_example.go | 3 +-- .../internal/templates/controllers/controller.go | 10 ++-------- .../controller/example.com/busybox_controller.go | 10 ++-------- .../controller/example.com/memcached_controller.go | 10 ++-------- .../internal/controller/busybox_controller.go | 10 ++-------- .../internal/controller/memcached_controller.go | 10 ++-------- 6 files changed, 11 insertions(+), 42 deletions(-) diff --git a/docs/book/src/cronjob-tutorial/testdata/finalizer_example.go b/docs/book/src/cronjob-tutorial/testdata/finalizer_example.go index 89296075e73..e5f11110f27 100644 --- a/docs/book/src/cronjob-tutorial/testdata/finalizer_example.go +++ b/docs/book/src/cronjob-tutorial/testdata/finalizer_example.go @@ -66,8 +66,7 @@ func (r *CronJobReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // The object is not being deleted, so if it does not have our finalizer, // then let's add the finalizer and update the object. This is equivalent // to registering our finalizer. - if !controllerutil.ContainsFinalizer(cronJob, myFinalizerName) { - controllerutil.AddFinalizer(cronJob, myFinalizerName) + if added := controllerutil.AddFinalizer(cronJob, myFinalizerName); added { if err := r.Update(ctx, cronJob); err != nil { return ctrl.Result{}, err } diff --git a/pkg/plugins/golang/deploy-image/v1alpha1/scaffolds/internal/templates/controllers/controller.go b/pkg/plugins/golang/deploy-image/v1alpha1/scaffolds/internal/templates/controllers/controller.go index 78a65abed26..38e0e3d86cf 100644 --- a/pkg/plugins/golang/deploy-image/v1alpha1/scaffolds/internal/templates/controllers/controller.go +++ b/pkg/plugins/golang/deploy-image/v1alpha1/scaffolds/internal/templates/controllers/controller.go @@ -176,14 +176,8 @@ func (r *{{ .Resource.Kind }}Reconciler) Reconcile(ctx context.Context, req ctrl // Let's add a finalizer. Then, we can define some operations which should // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers - if !controllerutil.ContainsFinalizer({{ lower .Resource.Kind }}, {{ lower .Resource.Kind }}Finalizer) { - log.Info("Adding Finalizer for {{ .Resource.Kind }}") - if ok := controllerutil.AddFinalizer({{ lower .Resource.Kind }}, {{ lower .Resource.Kind }}Finalizer); !ok { - err = fmt.Errorf("finalizer for {{ .Resource.Kind }} was not added") - log.Error(err, "Failed to add finalizer for {{ .Resource.Kind }}") - return ctrl.Result{}, err - } - + if added := controllerutil.AddFinalizer({{ lower .Resource.Kind }}, {{ lower .Resource.Kind }}Finalizer); added { + log.Info("Finalizer added for {{ .Resource.Kind }}") if err = r.Update(ctx, {{ lower .Resource.Kind }}); err != nil { log.Error(err, "Failed to update custom resource to add finalizer") return ctrl.Result{}, err diff --git a/testdata/project-v4-multigroup/internal/controller/example.com/busybox_controller.go b/testdata/project-v4-multigroup/internal/controller/example.com/busybox_controller.go index d082262b2c8..8d433f9ae5c 100644 --- a/testdata/project-v4-multigroup/internal/controller/example.com/busybox_controller.go +++ b/testdata/project-v4-multigroup/internal/controller/example.com/busybox_controller.go @@ -121,14 +121,8 @@ func (r *BusyboxReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // Let's add a finalizer. Then, we can define some operations which should // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers - if !controllerutil.ContainsFinalizer(busybox, busyboxFinalizer) { - log.Info("Adding Finalizer for Busybox") - if ok := controllerutil.AddFinalizer(busybox, busyboxFinalizer); !ok { - err = fmt.Errorf("finalizer for Busybox was not added") - log.Error(err, "Failed to add finalizer for Busybox") - return ctrl.Result{}, err - } - + if added := controllerutil.AddFinalizer(busybox, busyboxFinalizer); added { + log.Info("Finalizer added for Busybox") if err = r.Update(ctx, busybox); err != nil { log.Error(err, "Failed to update custom resource to add finalizer") return ctrl.Result{}, err diff --git a/testdata/project-v4-multigroup/internal/controller/example.com/memcached_controller.go b/testdata/project-v4-multigroup/internal/controller/example.com/memcached_controller.go index 180bd3bda4a..41ec97ac5c9 100644 --- a/testdata/project-v4-multigroup/internal/controller/example.com/memcached_controller.go +++ b/testdata/project-v4-multigroup/internal/controller/example.com/memcached_controller.go @@ -121,14 +121,8 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( // Let's add a finalizer. Then, we can define some operations which should // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers - if !controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { - log.Info("Adding Finalizer for Memcached") - if ok := controllerutil.AddFinalizer(memcached, memcachedFinalizer); !ok { - err = fmt.Errorf("finalizer for Memcached was not added") - log.Error(err, "Failed to add finalizer for Memcached") - return ctrl.Result{}, err - } - + if added := controllerutil.AddFinalizer(memcached, memcachedFinalizer); added { + log.Info("Finalizer added for Memcached") if err = r.Update(ctx, memcached); err != nil { log.Error(err, "Failed to update custom resource to add finalizer") return ctrl.Result{}, err diff --git a/testdata/project-v4-with-plugins/internal/controller/busybox_controller.go b/testdata/project-v4-with-plugins/internal/controller/busybox_controller.go index f6e98e20a1d..d4c27cf3601 100644 --- a/testdata/project-v4-with-plugins/internal/controller/busybox_controller.go +++ b/testdata/project-v4-with-plugins/internal/controller/busybox_controller.go @@ -121,14 +121,8 @@ func (r *BusyboxReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct // Let's add a finalizer. Then, we can define some operations which should // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers - if !controllerutil.ContainsFinalizer(busybox, busyboxFinalizer) { - log.Info("Adding Finalizer for Busybox") - if ok := controllerutil.AddFinalizer(busybox, busyboxFinalizer); !ok { - err = fmt.Errorf("finalizer for Busybox was not added") - log.Error(err, "Failed to add finalizer for Busybox") - return ctrl.Result{}, err - } - + if added := controllerutil.AddFinalizer(busybox, busyboxFinalizer); added { + log.Info("Finalizer added for Busybox") if err = r.Update(ctx, busybox); err != nil { log.Error(err, "Failed to update custom resource to add finalizer") return ctrl.Result{}, err diff --git a/testdata/project-v4-with-plugins/internal/controller/memcached_controller.go b/testdata/project-v4-with-plugins/internal/controller/memcached_controller.go index e34b07e0387..14f1546f42b 100644 --- a/testdata/project-v4-with-plugins/internal/controller/memcached_controller.go +++ b/testdata/project-v4-with-plugins/internal/controller/memcached_controller.go @@ -121,14 +121,8 @@ func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) ( // Let's add a finalizer. Then, we can define some operations which should // occur before the custom resource is deleted. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers - if !controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) { - log.Info("Adding Finalizer for Memcached") - if ok := controllerutil.AddFinalizer(memcached, memcachedFinalizer); !ok { - err = fmt.Errorf("finalizer for Memcached was not added") - log.Error(err, "Failed to add finalizer for Memcached") - return ctrl.Result{}, err - } - + if added := controllerutil.AddFinalizer(memcached, memcachedFinalizer); added { + log.Info("Finalizer added for Memcached") if err = r.Update(ctx, memcached); err != nil { log.Error(err, "Failed to update custom resource to add finalizer") return ctrl.Result{}, err