From 7ac99063c9e0634aab561e1355b95fe0dc6e15d8 Mon Sep 17 00:00:00 2001 From: Jean-Marc Andre Date: Sat, 8 May 2021 22:51:46 +0200 Subject: [PATCH] use defer to update deployment --- controllers/restoresession_controller.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/controllers/restoresession_controller.go b/controllers/restoresession_controller.go index 70941ab..610943b 100644 --- a/controllers/restoresession_controller.go +++ b/controllers/restoresession_controller.go @@ -220,9 +220,9 @@ func (r *RestoreSessionReconciler) Reconcile(ctx context.Context, req reconcile. return nil } - deleteRestoreInitContainer := func(target formolv1alpha1.Target) error { + deleteRestoreInitContainer := func(target formolv1alpha1.Target) (err error) { deployment := &appsv1.Deployment{} - if err := r.Get(context.Background(), client.ObjectKey{ + if err = r.Get(context.Background(), client.ObjectKey{ Namespace: backupConf.Namespace, Name: target.Name, }, deployment); err != nil { @@ -234,15 +234,16 @@ func (r *RestoreSessionReconciler) Reconcile(ctx context.Context, req reconcile. for _, initContainer := range deployment.Spec.Template.Spec.InitContainers { if initContainer.Name == RESTORESESSION { log.V(0).Info("Found our restoresession container. Removing it from the list of init containers", "container", initContainer) + defer func() { + if err = r.Update(ctx, deployment); err != nil { + log.Error(err, "unable to update deployment") + } + }() } else { newInitContainers = append(newInitContainers, initContainer) } } deployment.Spec.Template.Spec.InitContainers = newInitContainers - if err := r.Update(ctx, deployment); err != nil { - log.Error(err, "unable to update deployment") - return err - } return nil }