diff --git a/internal/controller/nbgroup_controller.go b/internal/controller/nbgroup_controller.go index a7d2b3a..415e593 100644 --- a/internal/controller/nbgroup_controller.go +++ b/internal/controller/nbgroup_controller.go @@ -53,6 +53,12 @@ func (r *NBGroupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (re originalGroup := nbGroup.DeepCopy() defer func() { + if err != nil { + // double check result is nil, otherwise error is not printed + // and exponential backoff doesn't work properly + res = ctrl.Result{} + return + } if !originalGroup.Status.Equal(nbGroup.Status) { updateErr := r.Client.Status().Update(ctx, &nbGroup) if updateErr != nil { diff --git a/internal/controller/nbpolicy_controller.go b/internal/controller/nbpolicy_controller.go index 423e75e..c825fe1 100644 --- a/internal/controller/nbpolicy_controller.go +++ b/internal/controller/nbpolicy_controller.go @@ -210,6 +210,12 @@ func (r *NBPolicyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (r originalPolicy := nbPolicy.DeepCopy() defer func() { + if err != nil { + // double check result is nil, otherwise error is not printed + // and exponential backoff doesn't work properly + res = ctrl.Result{} + return + } if originalPolicy.DeletionTimestamp != nil && len(nbPolicy.Finalizers) == 0 { return } diff --git a/internal/controller/nbresource_controller.go b/internal/controller/nbresource_controller.go index e4e46da..21e4bbe 100644 --- a/internal/controller/nbresource_controller.go +++ b/internal/controller/nbresource_controller.go @@ -52,6 +52,12 @@ func (r *NBResourceReconciler) Reconcile(ctx context.Context, req ctrl.Request) originalResource := nbResource.DeepCopy() defer func() { + if err != nil { + // double check result is nil, otherwise error is not printed + // and exponential backoff doesn't work properly + res = ctrl.Result{} + return + } if originalResource.DeletionTimestamp != nil && len(nbResource.Finalizers) == 0 { return } diff --git a/internal/controller/nbroutingpeer_controller.go b/internal/controller/nbroutingpeer_controller.go index 55e96c5..58f2c08 100644 --- a/internal/controller/nbroutingpeer_controller.go +++ b/internal/controller/nbroutingpeer_controller.go @@ -51,6 +51,12 @@ func (r *NBRoutingPeerReconciler) Reconcile(ctx context.Context, req ctrl.Reques originalNBRP := nbrp.DeepCopy() defer func() { + if err != nil { + // double check result is nil, otherwise error is not printed + // and exponential backoff doesn't work properly + res = ctrl.Result{} + return + } if originalNBRP.DeletionTimestamp != nil && len(nbrp.Finalizers) == 0 { return }