Requeue if create pod returns already exists error (#4201)
This commit is contained in:
parent
0e006bb0ff
commit
ddc2918a48
|
|
@ -268,13 +268,15 @@ func (r *EphemeralRunnerReconciler) Reconcile(ctx context.Context, req ctrl.Requ
|
||||||
log.Error(err, "Failed to fetch the pod")
|
log.Error(err, "Failed to fetch the pod")
|
||||||
return ctrl.Result{}, err
|
return ctrl.Result{}, err
|
||||||
}
|
}
|
||||||
|
log.Info("Ephemeral runner pod does not exist. Creating new ephemeral runner")
|
||||||
|
|
||||||
// Pod was not found. Create if the pod has never been created
|
|
||||||
log.Info("Creating new EphemeralRunner pod.")
|
|
||||||
result, err := r.createPod(ctx, ephemeralRunner, secret, log)
|
result, err := r.createPod(ctx, ephemeralRunner, secret, log)
|
||||||
switch {
|
switch {
|
||||||
case err == nil:
|
case err == nil:
|
||||||
return result, nil
|
return result, nil
|
||||||
|
case kerrors.IsAlreadyExists(err):
|
||||||
|
log.Info("Runner pod already exists. Waiting for the pod event to be received")
|
||||||
|
return ctrl.Result{Requeue: true, RequeueAfter: 5 * time.Second}, nil
|
||||||
case kerrors.IsInvalid(err) || kerrors.IsForbidden(err):
|
case kerrors.IsInvalid(err) || kerrors.IsForbidden(err):
|
||||||
log.Error(err, "Failed to create a pod due to unrecoverable failure")
|
log.Error(err, "Failed to create a pod due to unrecoverable failure")
|
||||||
errMessage := fmt.Sprintf("Failed to create the pod: %v", err)
|
errMessage := fmt.Sprintf("Failed to create the pod: %v", err)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue