Skip to content

Commit 118041d

Browse files
chore(controller): Make controller logic consistent
Signed-off-by: Mathieu Cesbron <[email protected]>
1 parent 74a6eb6 commit 118041d

3 files changed

+31
-27
lines changed

controllers/certificate_lifecycle_controller.go

+16-13
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,31 @@ type CertificateLifecycle struct {
3535
}
3636

3737
func (s *CertificateLifecycle) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {
38-
logger := log.FromContext(ctx)
38+
log := log.FromContext(ctx)
3939

40-
logger.Info("starting CertificateLifecycle handling")
40+
log.Info("starting CertificateLifecycle handling")
4141

4242
secret := corev1.Secret{}
43-
if err := s.client.Get(ctx, request.NamespacedName, &secret); err != nil {
44-
if k8serrors.IsNotFound(err) {
45-
logger.Info("resource may have been deleted, skipping")
43+
err := s.client.Get(ctx, request.NamespacedName, &secret)
44+
if k8serrors.IsNotFound(err) {
45+
log.Info("resource have been deleted, skipping")
4646

47-
return reconcile.Result{}, nil
48-
}
47+
return reconcile.Result{}, nil
48+
}
49+
if err != nil {
50+
log.Error(err, "cannot retrieve the required resource")
51+
52+
return reconcile.Result{}, err
4953
}
5054

5155
checkType, ok := secret.GetLabels()[constants.ControllerLabelResource]
5256
if !ok {
53-
logger.Info("missing controller label, shouldn't happen")
57+
log.Info("missing controller label, shouldn't happen")
5458

5559
return reconcile.Result{}, nil
5660
}
5761

5862
var crt *x509.Certificate
59-
var err error
6063

6164
switch checkType {
6265
case "x509":
@@ -68,15 +71,15 @@ func (s *CertificateLifecycle) Reconcile(ctx context.Context, request reconcile.
6871
}
6972

7073
if err != nil {
71-
logger.Error(err, "skipping reconciliation")
74+
log.Error(err, "skipping reconciliation")
7275

7376
return reconcile.Result{}, nil
7477
}
7578

7679
deadline := time.Now().AddDate(0, 0, 1)
7780

7881
if deadline.After(crt.NotAfter) {
79-
logger.Info("certificate near expiration, must be rotated")
82+
log.Info("certificate near expiration, must be rotated")
8083

8184
s.Channel <- event.GenericEvent{Object: &kamajiv1alpha1.TenantControlPlane{
8285
ObjectMeta: metav1.ObjectMeta{
@@ -85,14 +88,14 @@ func (s *CertificateLifecycle) Reconcile(ctx context.Context, request reconcile.
8588
},
8689
}}
8790

88-
logger.Info("certificate rotation triggered")
91+
log.Info("certificate rotation triggered")
8992

9093
return reconcile.Result{}, nil
9194
}
9295

9396
after := crt.NotAfter.Sub(deadline)
9497

95-
logger.Info("certificate is still valid, enqueuing back", "after", after.String())
98+
log.Info("certificate is still valid, enqueuing back", "after", after.String())
9699

97100
return reconcile.Result{Requeue: true, RequeueAfter: after}, nil
98101
}

controllers/datastore_controller.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,14 @@ func (r *DataStore) Reconcile(ctx context.Context, request reconcile.Request) (r
3939
log := log.FromContext(ctx)
4040

4141
ds := &kamajiv1alpha1.DataStore{}
42-
if err := r.Client.Get(ctx, request.NamespacedName, ds); err != nil {
43-
if k8serrors.IsNotFound(err) {
44-
return reconcile.Result{}, nil
45-
}
42+
err := r.Client.Get(ctx, request.NamespacedName, ds)
43+
if k8serrors.IsNotFound(err) {
44+
log.Info("resource have been deleted, skipping")
4645

47-
log.Error(err, "unable to retrieve the request")
46+
return reconcile.Result{}, nil
47+
}
48+
if err != nil {
49+
log.Error(err, "cannot retrieve the required resource")
4850

4951
return reconcile.Result{}, err
5052
}

controllers/tenantcontrolplane_controller.go

+8-9
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
batchv1 "k8s.io/api/batch/v1"
1616
corev1 "k8s.io/api/core/v1"
1717
networkingv1 "k8s.io/api/networking/v1"
18-
apimachineryerrors "k8s.io/apimachinery/pkg/api/errors"
18+
k8serrors "k8s.io/apimachinery/pkg/api/errors"
1919
k8stypes "k8s.io/apimachinery/pkg/types"
2020
"k8s.io/client-go/util/workqueue"
2121
"k8s.io/utils/clock"
@@ -84,16 +84,15 @@ func (r *TenantControlPlaneReconciler) Reconcile(ctx context.Context, req ctrl.R
8484
defer cancelFn()
8585

8686
tenantControlPlane, err := r.getTenantControlPlane(ctx, req.NamespacedName)()
87-
if err != nil {
88-
if apimachineryerrors.IsNotFound(err) {
89-
log.Info("resource may have been deleted, skipping")
90-
91-
return ctrl.Result{}, nil
92-
}
87+
if k8serrors.IsNotFound(err) {
88+
log.Info("resource have been deleted, skipping")
9389

94-
log.Error(err, "cannot retrieve the required instance")
90+
return reconcile.Result{}, nil
91+
}
92+
if err != nil {
93+
log.Error(err, "cannot retrieve the required resource")
9594

96-
return ctrl.Result{}, err
95+
return reconcile.Result{}, err
9796
}
9897

9998
releaser, err := mutex.Acquire(r.mutexSpec(tenantControlPlane))

0 commit comments

Comments
 (0)