From 2188a117f5f57ebc2b979c68d4349c4de4b22666 Mon Sep 17 00:00:00 2001 From: Mathieu Cesbron Date: Sun, 25 Feb 2024 11:40:35 +0100 Subject: [PATCH] fix(controller): Make controller logic consistent Signed-off-by: Mathieu Cesbron --- controllers/certificate_lifecycle_controller.go | 15 +++++++++------ controllers/datastore_controller.go | 12 +++++++----- controllers/tenantcontrolplane_controller.go | 17 ++++++++--------- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/controllers/certificate_lifecycle_controller.go b/controllers/certificate_lifecycle_controller.go index 9e18c9cd..fff2be0a 100644 --- a/controllers/certificate_lifecycle_controller.go +++ b/controllers/certificate_lifecycle_controller.go @@ -40,12 +40,16 @@ func (s *CertificateLifecycle) Reconcile(ctx context.Context, request reconcile. logger.Info("starting CertificateLifecycle handling") secret := corev1.Secret{} - if err := s.client.Get(ctx, request.NamespacedName, &secret); err != nil { - if k8serrors.IsNotFound(err) { - logger.Info("resource may have been deleted, skipping") + err := s.client.Get(ctx, request.NamespacedName, &secret) + if k8serrors.IsNotFound(err) { + logger.Info("resource have been deleted, skipping") - return reconcile.Result{}, nil - } + return reconcile.Result{}, nil + } + if err != nil { + logger.Error(err, "cannot retrieve the required resource") + + return reconcile.Result{}, err } checkType, ok := secret.GetLabels()[constants.ControllerLabelResource] @@ -56,7 +60,6 @@ func (s *CertificateLifecycle) Reconcile(ctx context.Context, request reconcile. } var crt *x509.Certificate - var err error switch checkType { case "x509": diff --git a/controllers/datastore_controller.go b/controllers/datastore_controller.go index 13fa47fa..2f65927e 100644 --- a/controllers/datastore_controller.go +++ b/controllers/datastore_controller.go @@ -39,12 +39,14 @@ func (r *DataStore) Reconcile(ctx context.Context, request reconcile.Request) (r log := log.FromContext(ctx) ds := &kamajiv1alpha1.DataStore{} - if err := r.Client.Get(ctx, request.NamespacedName, ds); err != nil { - if k8serrors.IsNotFound(err) { - return reconcile.Result{}, nil - } + err := r.Client.Get(ctx, request.NamespacedName, ds) + if k8serrors.IsNotFound(err) { + log.Info("resource have been deleted, skipping") - log.Error(err, "unable to retrieve the request") + return reconcile.Result{}, nil + } + if err != nil { + log.Error(err, "cannot retrieve the required resource") return reconcile.Result{}, err } diff --git a/controllers/tenantcontrolplane_controller.go b/controllers/tenantcontrolplane_controller.go index dd39d4e9..f9b3a812 100644 --- a/controllers/tenantcontrolplane_controller.go +++ b/controllers/tenantcontrolplane_controller.go @@ -15,7 +15,7 @@ import ( batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" networkingv1 "k8s.io/api/networking/v1" - apimachineryerrors "k8s.io/apimachinery/pkg/api/errors" + k8serrors "k8s.io/apimachinery/pkg/api/errors" k8stypes "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/workqueue" "k8s.io/utils/clock" @@ -84,16 +84,15 @@ func (r *TenantControlPlaneReconciler) Reconcile(ctx context.Context, req ctrl.R defer cancelFn() tenantControlPlane, err := r.getTenantControlPlane(ctx, req.NamespacedName)() - if err != nil { - if apimachineryerrors.IsNotFound(err) { - log.Info("resource may have been deleted, skipping") - - return ctrl.Result{}, nil - } + if k8serrors.IsNotFound(err) { + log.Info("resource have been deleted, skipping") - log.Error(err, "cannot retrieve the required instance") + return reconcile.Result{}, nil + } + if err != nil { + log.Error(err, "cannot retrieve the required resource") - return ctrl.Result{}, err + return reconcile.Result{}, err } releaser, err := mutex.Acquire(r.mutexSpec(tenantControlPlane))