Skip to content

Commit 98d96f8

Browse files
committed
Refactor: streamline Overcommit and OvercommitClass reconciliation logic and remove unused finalizer code
1 parent f2a5573 commit 98d96f8

5 files changed

Lines changed: 142 additions & 287 deletions

File tree

internal/controller/overcommit/overcommit_controller.go

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ type OvercommitReconciler struct {
3333

3434
// +kubebuilder:rbac:groups=overcommit.inditex.dev,resources=overcommits,verbs=get;list;watch;create;update;patch;delete
3535
// +kubebuilder:rbac:groups=overcommit.inditex.dev,resources=overcommits/status,verbs=get;update;patch
36-
// +kubebuilder:rbac:groups=overcommit.inditex.dev,resources=overcommits/finalizers,verbs=update
3736

3837
// Reconcile is part of the main kubernetes reconciliation loop which aims to
3938
// move the current state of the cluster closer to the desired state.
@@ -65,47 +64,11 @@ func (r *OvercommitReconciler) Reconcile(ctx context.Context, req ctrl.Request)
6564
return ctrl.Result{}, nil
6665
}
6766

68-
// Check if the CR is being deleted
69-
if !overcommit.ObjectMeta.DeletionTimestamp.IsZero() {
70-
logger.Info("Overcommit CR is being deleted, cleaning up resources")
71-
72-
// Clean up resources
73-
err := r.cleanupResources(ctx, overcommit)
74-
if err != nil {
75-
logger.Error(err, "Failed to clean up resources")
76-
return ctrl.Result{}, err
77-
}
78-
79-
// Remove finalizer if cleanup is successful
80-
controllerutil.RemoveFinalizer(overcommit, "overcommit.finalizer")
81-
err = r.Update(ctx, overcommit)
82-
if err != nil {
83-
logger.Error(err, "Failed to remove finalizer")
84-
return ctrl.Result{}, err
85-
}
86-
87-
return ctrl.Result{}, nil
88-
}
89-
90-
// Add finalizer if not present
91-
if !controllerutil.ContainsFinalizer(overcommit, "overcommit.finalizer") {
92-
logger.Info("Adding finalizer to Overcommit CR")
93-
controllerutil.AddFinalizer(overcommit, "overcommit.finalizer")
94-
err = r.Update(ctx, overcommit)
95-
if err != nil {
96-
logger.Error(err, "Failed to add finalizer")
97-
return ctrl.Result{}, err
98-
}
99-
// Return early to trigger a new reconciliation with the updated object
100-
logger.Info("Finalizer added, requeuing reconciliation")
101-
return ctrl.Result{}, nil
102-
}
103-
10467
// Reconcile Issuer
10568
issuer := resources.GenerateIssuer()
10669
if issuer == nil {
10770
logger.Error(nil, "Generated issuer is nil")
108-
return ctrl.Result{}, fmt.Errorf("Generated issuer is nil")
71+
return ctrl.Result{}, fmt.Errorf("generated issuer is nil")
10972
}
11073

11174
_, err = controllerutil.CreateOrUpdate(ctx, r.Client, issuer, func() error {
@@ -395,6 +358,12 @@ func (r *OvercommitReconciler) Reconcile(ctx context.Context, req ctrl.Request)
395358
return ctrl.Result{}, err
396359
}
397360

361+
// Update the status of all resources
362+
if err := r.updateOvercommitStatusSafely(ctx); err != nil {
363+
logger.Error(err, "Failed to update Overcommit status")
364+
// Don't fail the reconciliation for status update errors
365+
}
366+
398367
// Only requeue periodically for status checks, not immediately
399368
logger.Info("Reconciliation completed successfully", "nextReconcile", "10 seconds", "time", time.Now().Format("15:04:05"))
400369
return ctrl.Result{

0 commit comments

Comments
 (0)