Skip to content

Commit 53db812

Browse files
committed
Fix deprecated controller request warning
Signed-off-by: vbadrina <[email protected]>
1 parent 41364c2 commit 53db812

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

controllers/mirrorpeer_controller.go

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"encoding/json"
2222
"fmt"
2323
"log/slog"
24+
"time"
2425

2526
"github.com/red-hat-storage/odf-multicluster-orchestrator/addons/setup"
2627
"github.com/red-hat-storage/odf-multicluster-orchestrator/version"
@@ -141,29 +142,29 @@ func (r *MirrorPeerReconciler) Reconcile(ctx context.Context, req ctrl.Request)
141142
// MirrorPeer.Spec must be defined
142143
if err := undefinedMirrorPeerSpec(mirrorPeer.Spec); err != nil {
143144
logger.Error("MirrorPeer spec is undefined", "error", err)
144-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
145+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
145146
}
146147
// MirrorPeer.Spec.Items must be unique
147148
if err := uniqueSpecItems(mirrorPeer.Spec); err != nil {
148149
logger.Error("MirrorPeer spec items are not unique", "error", err)
149-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
150+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
150151
}
151152
for i := range mirrorPeer.Spec.Items {
152153
// MirrorPeer.Spec.Items must not have empty fields
153154
if err := emptySpecItems(mirrorPeer.Spec.Items[i]); err != nil {
154155
logger.Error("MirrorPeer spec items have empty fields", "error", err)
155-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
156+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
156157
}
157158
// MirrorPeer.Spec.Items[*].ClusterName must be a valid ManagedCluster
158159
if err := isManagedCluster(ctx, r.Client, mirrorPeer.Spec.Items[i].ClusterName); err != nil {
159160
logger.Error("Invalid ManagedCluster", "ClusterName", mirrorPeer.Spec.Items[i].ClusterName, "error", err)
160-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
161+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
161162
}
162163
// MirrorPeer.Spec.Items[*].StorageClusterRef must have a compatible version
163164
if err := isVersionCompatible(mirrorPeer.Spec.Items[i], clientInfoMap.Data); err != nil {
164165
logger.Error("Can not reconcile MirrorPeer", "error", err)
165166
mirrorPeer.Status.Phase = multiclusterv1alpha1.IncompatibleVersion
166-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
167+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
167168
} else {
168169
if mirrorPeer.Status.Phase == multiclusterv1alpha1.IncompatibleVersion {
169170
mirrorPeer.Status.Phase = ""
@@ -267,12 +268,12 @@ func (r *MirrorPeerReconciler) Reconcile(ctx context.Context, req ctrl.Request)
267268
hasStorageClientRef, err := utils.IsStorageClientType(ctx, r.Client, mirrorPeer, r.CurrentNamespace)
268269
if err != nil {
269270
logger.Error("Failed to determine if MirrorPeer contains StorageClient reference", "error", err)
270-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
271+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
271272
}
272273

273274
if err := r.processManagedClusterAddon(ctx, mirrorPeer); err != nil {
274275
logger.Error("Failed to process managedclusteraddon", "error", err)
275-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
276+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
276277
}
277278

278279
// update s3 profile when MirrorPeer changes
@@ -305,13 +306,13 @@ func (r *MirrorPeerReconciler) Reconcile(ctx context.Context, req ctrl.Request)
305306
return ctrl.Result{Requeue: true}, nil
306307
}
307308
logger.Error("Error in fetching s3 internal secret", "Cluster", peerRef.ClusterName, "error", err)
308-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
309+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
309310
}
310311

311312
err = utils.CreateOrUpdateSecretsFromInternalSecret(ctx, r.Client, r.Scheme, r.CurrentNamespace, &s3Secret, mirrorPeer, logger)
312313
if err != nil {
313314
logger.Error("Error in updating S3 profile", "Cluster", peerRef.ClusterName, "error", err)
314-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
315+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
315316
}
316317

317318
err = r.createDRClusters(ctx, peerRef.ClusterName, s3Secret, mirrorPeer)
@@ -321,7 +322,7 @@ func (r *MirrorPeerReconciler) Reconcile(ctx context.Context, req ctrl.Request)
321322
return ctrl.Result{Requeue: true}, nil
322323
}
323324
logger.Error("Failed to create DRClusters for MirrorPeer", "error", err)
324-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, false, err)
325+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, 0, err)
325326
}
326327
}
327328
}
@@ -330,13 +331,14 @@ func (r *MirrorPeerReconciler) Reconcile(ctx context.Context, req ctrl.Request)
330331
result, err := createStorageClusterPeer(ctx, r.Client, logger, r.CurrentNamespace, mirrorPeer)
331332
if err != nil {
332333
logger.Error("Failed to create StorageClusterPeer", "error", err)
333-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, result.Requeue, err)
334+
335+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, result.RequeueAfter, err)
334336
}
335337

336338
result, err = createManifestWorkForClusterPairingConfigMap(ctx, r.Client, logger, r.CurrentNamespace, mirrorPeer)
337339
if err != nil {
338340
logger.Error("Failed to create ManifestWork for ClusterPairingConfigMap", "error", err)
339-
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, result.Requeue, err)
341+
return r.updateMirrorPeerStatusMessage(ctx, mirrorPeer, result.RequeueAfter, err)
340342
}
341343
}
342344

@@ -460,7 +462,7 @@ func createStorageClusterPeer(ctx context.Context, client client.Client, logger
460462
if err != nil {
461463
if k8serrors.IsNotFound(err) {
462464
logger.Info("Client info config map not found. Retrying request another time...")
463-
return ctrl.Result{Requeue: true}, nil
465+
return ctrl.Result{RequeueAfter: 0}, nil
464466
}
465467
return ctrl.Result{}, err
466468
}
@@ -1004,15 +1006,18 @@ func (r *MirrorPeerReconciler) updateMirrorPeerStatus(ctx context.Context, mirro
10041006
}
10051007

10061008
// updateMirrorPeerStatusMessage updates the MirrorPeer.Status.Message with the reconcile error message
1007-
func (r *MirrorPeerReconciler) updateMirrorPeerStatusMessage(ctx context.Context, mirrorPeer multiclusterv1alpha1.MirrorPeer, ctrlRequeue bool, err error) (ctrl.Result, error) {
1009+
func (r *MirrorPeerReconciler) updateMirrorPeerStatusMessage(
1010+
ctx context.Context,
1011+
mirrorPeer multiclusterv1alpha1.MirrorPeer,
1012+
requeueAfter time.Duration,
1013+
err error,
1014+
) (ctrl.Result, error) {
10081015
mirrorPeer.Status.Message = err.Error()
1009-
statusErr := r.Client.Status().Update(ctx, &mirrorPeer)
1010-
if statusErr != nil {
1011-
r.Logger.Error("Error occurred while updating the status of mirrorpeer. Requeing request.", "Error ", statusErr)
1012-
return ctrl.Result{Requeue: true}, nil
1016+
if statusErr := r.Client.Status().Update(ctx, &mirrorPeer); statusErr != nil {
1017+
r.Logger.Error("Failed to update MirrorPeer status", "error", statusErr)
1018+
return ctrl.Result{RequeueAfter: time.Second}, nil
10131019
}
1014-
1015-
return ctrl.Result{Requeue: ctrlRequeue}, err
1020+
return ctrl.Result{RequeueAfter: requeueAfter}, err
10161021
}
10171022

10181023
func isProviderModePeeringDone(ctx context.Context, client client.Client, logger *slog.Logger, currentNamespace string, mirrorPeer *multiclusterv1alpha1.MirrorPeer) (bool, error) {

0 commit comments

Comments
 (0)