Skip to content

Commit

Permalink
chore: Remove finalizer with Update() instead of Patch() (#1126)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathan-innis committed Mar 22, 2024
1 parent d1d94a3 commit 066cc4c
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion pkg/controllers/nodeclaim/termination/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"golang.org/x/time/rate"
v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/client-go/util/workqueue"
"knative.dev/pkg/logging"
controllerruntime "sigs.k8s.io/controller-runtime"
Expand Down Expand Up @@ -63,6 +64,7 @@ func (c *Controller) Reconcile(_ context.Context, _ *v1beta1.NodeClaim) (reconci
return reconcile.Result{}, nil
}

//nolint:gocyclo
func (c *Controller) Finalize(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error) {
ctx = logging.WithLogger(ctx, logging.FromContext(ctx).With("node", nodeClaim.Status.NodeName, "provider-id", nodeClaim.Status.ProviderID))
stored := nodeClaim.DeepCopy()
Expand Down Expand Up @@ -93,7 +95,10 @@ func (c *Controller) Finalize(ctx context.Context, nodeClaim *v1beta1.NodeClaim)
}
controllerutil.RemoveFinalizer(nodeClaim, v1beta1.TerminationFinalizer)
if !equality.Semantic.DeepEqual(stored, nodeClaim) {
if err = c.kubeClient.Patch(ctx, nodeClaim, client.MergeFrom(stored)); err != nil {
if err = c.kubeClient.Update(ctx, nodeClaim); err != nil {
if errors.IsConflict(err) {
return reconcile.Result{Requeue: true}, nil
}
return reconcile.Result{}, client.IgnoreNotFound(fmt.Errorf("removing termination finalizer, %w", err))
}
logging.FromContext(ctx).Infof("deleted nodeclaim")
Expand Down

0 comments on commit 066cc4c

Please sign in to comment.