From 2d32c6dc4be5ddaf43f3f35f721fa87506848334 Mon Sep 17 00:00:00 2001 From: Adyanth Hosavalike Date: Mon, 10 Apr 2023 21:30:10 -0700 Subject: [PATCH] :bug: Update resource after setting finalizer --- controllers/tunnelbinding_controller.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/controllers/tunnelbinding_controller.go b/controllers/tunnelbinding_controller.go index 541c6dc..e555fa9 100644 --- a/controllers/tunnelbinding_controller.go +++ b/controllers/tunnelbinding_controller.go @@ -259,7 +259,7 @@ func (r *TunnelBindingReconciler) creationLogic() error { // Update TunnelBinding resource if err := r.Update(r.ctx, r.binding); err != nil { - r.Recorder.Event(r.binding, corev1.EventTypeWarning, "FailedMetaSet", "Failed to set TunnelBinding Finalizer and Labels") + r.Recorder.Event(r.binding, corev1.EventTypeWarning, "FailedMetaSet", "Failed to set Labels") return err } @@ -269,7 +269,15 @@ func (r *TunnelBindingReconciler) creationLogic() error { } if !controllerutil.ContainsFinalizer(r.binding, tunnelFinalizer) { - controllerutil.AddFinalizer(r.binding, tunnelFinalizer) + if !controllerutil.AddFinalizer(r.binding, tunnelFinalizer) { + r.Recorder.Event(r.binding, corev1.EventTypeWarning, "FailedMetaSet", "Failed to set Finalizer") + return fmt.Errorf("failed to set finalizer, trying again") + } + // Update TunnelBinding resource + if err := r.Update(r.ctx, r.binding); err != nil { + r.Recorder.Event(r.binding, corev1.EventTypeWarning, "FailedMetaSet", "Failed to set Finalizer") + return err + } } r.Recorder.Event(r.binding, corev1.EventTypeNormal, "MetaSet", "TunnelBinding Finalizer and Labels added")