Skip to content

Commit 59df4c6

Browse files
authored
VSS: use a constant backoff on some reconciliation errors (#811)
Updates the VaultStaticSecretReconciler and others to use a constant backoff when it encounters specific errors during reconciliation. This is the same approach taken in the VDS and VPS controllers.
1 parent 163cedd commit 59df4c6

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

controllers/vaultdynamicsecret_controller.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,7 @@ func (r *VaultDynamicSecretReconciler) Reconcile(ctx context.Context, req ctrl.R
136136
if err != nil {
137137
r.Recorder.Eventf(o, corev1.EventTypeWarning, consts.ReasonVaultClientConfigError,
138138
"Failed to get Vault client: %s", err)
139-
_, jitter := computeMaxJitterWithPercent(requeueDurationOnError, 0.5)
140-
return ctrl.Result{
141-
RequeueAfter: requeueDurationOnError + time.Duration(jitter),
142-
}, nil
139+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
143140
}
144141

145142
// we can ignore the error here, since it was handled above in the Get() call.

controllers/vaultstaticsecret_controller.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func (r *VaultStaticSecretReconciler) Reconcile(ctx context.Context, req ctrl.Re
7676
if err != nil {
7777
r.Recorder.Eventf(o, corev1.EventTypeWarning, consts.ReasonVaultClientConfigError,
7878
"Failed to get Vault auth login: %s", err)
79-
return ctrl.Result{}, err
79+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
8080
}
8181

8282
var requeueAfter time.Duration
@@ -86,7 +86,7 @@ func (r *VaultStaticSecretReconciler) Reconcile(ctx context.Context, req ctrl.Re
8686
logger.Error(err, "Field validation failed")
8787
r.Recorder.Eventf(o, corev1.EventTypeWarning, consts.ReasonVaultStaticSecret,
8888
"Field validation failed, err=%s", err)
89-
return ctrl.Result{}, err
89+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
9090
}
9191
requeueAfter = computeHorizonWithJitter(d)
9292
}
@@ -105,7 +105,7 @@ func (r *VaultStaticSecretReconciler) Reconcile(ctx context.Context, req ctrl.Re
105105
kvReq, err := newKVRequest(o.Spec)
106106
if err != nil {
107107
r.Recorder.Event(o, corev1.EventTypeWarning, consts.ReasonVaultStaticSecret, err.Error())
108-
return ctrl.Result{}, err
108+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
109109
}
110110

111111
resp, err := c.Read(ctx, kvReq)
@@ -144,7 +144,7 @@ func (r *VaultStaticSecretReconciler) Reconcile(ctx context.Context, req ctrl.Re
144144

145145
macsEqual, messageMAC, err := helpers.HandleSecretHMAC(ctx, r.Client, r.HMACValidator, o, data)
146146
if err != nil {
147-
return ctrl.Result{}, err
147+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
148148
}
149149

150150
// skip the next sync if the data has not changed since the last sync, and the
@@ -164,7 +164,7 @@ func (r *VaultStaticSecretReconciler) Reconcile(ctx context.Context, req ctrl.Re
164164
if err := helpers.SyncSecret(ctx, r.Client, o, data); err != nil {
165165
r.Recorder.Eventf(o, corev1.EventTypeWarning, consts.ReasonSecretSyncError,
166166
"Failed to update k8s secret: %s", err)
167-
return ctrl.Result{}, err
167+
return ctrl.Result{RequeueAfter: computeHorizonWithJitter(requeueDurationOnError)}, nil
168168
}
169169
reason := consts.ReasonSecretSynced
170170
if doRolloutRestart {

0 commit comments

Comments
 (0)