Skip to content

Commit 4d22089

Browse files
authored
Delete listener resources without requeueing on each call (#4289)
1 parent 8007b8a commit 4d22089

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

controllers/actions.github.com/autoscalinglistener_controller.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package actionsgithubcom
1919
import (
2020
"context"
2121
"fmt"
22+
"time"
2223

2324
"github.com/go-logr/logr"
2425
kerrors "k8s.io/apimachinery/pkg/api/errors"
@@ -84,14 +85,14 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
8485
}
8586

8687
log.Info("Deleting resources")
87-
done, err := r.cleanupResources(ctx, autoscalingListener, log)
88+
requeue, err := r.cleanupResources(ctx, autoscalingListener, log)
8889
if err != nil {
8990
log.Error(err, "Failed to cleanup resources after deletion")
9091
return ctrl.Result{}, err
9192
}
92-
if !done {
93+
if requeue {
9394
log.Info("Waiting for resources to be deleted before removing finalizer")
94-
return ctrl.Result{Requeue: true}, nil
95+
return ctrl.Result{Requeue: true, RequeueAfter: time.Second}, nil
9596
}
9697

9798
log.Info("Removing finalizer")
@@ -272,7 +273,7 @@ func (r *AutoscalingListenerReconciler) Reconcile(ctx context.Context, req ctrl.
272273
return ctrl.Result{}, nil
273274
}
274275

275-
func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, autoscalingListener *v1alpha1.AutoscalingListener, logger logr.Logger) (done bool, err error) {
276+
func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, autoscalingListener *v1alpha1.AutoscalingListener, logger logr.Logger) (requeue bool, err error) {
276277
logger.Info("Cleaning up the listener pod")
277278
listenerPod := new(corev1.Pod)
278279
err = r.Get(ctx, types.NamespacedName{Name: autoscalingListener.Name, Namespace: autoscalingListener.Namespace}, listenerPod)
@@ -284,7 +285,7 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
284285
return false, fmt.Errorf("failed to delete listener pod: %w", err)
285286
}
286287
}
287-
return false, nil
288+
requeue = true
288289
case kerrors.IsNotFound(err):
289290
_ = r.publishRunningListener(autoscalingListener, false) // If error is returned, we never published metrics so it is safe to ignore
290291
default:
@@ -302,7 +303,7 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
302303
return false, fmt.Errorf("failed to delete listener config secret: %w", err)
303304
}
304305
}
305-
return false, nil
306+
requeue = true
306307
case !kerrors.IsNotFound(err):
307308
return false, fmt.Errorf("failed to get listener config secret: %w", err)
308309
}
@@ -319,7 +320,7 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
319320
return false, fmt.Errorf("failed to delete listener proxy secret: %w", err)
320321
}
321322
}
322-
return false, nil
323+
requeue = true
323324
case !kerrors.IsNotFound(err):
324325
return false, fmt.Errorf("failed to get listener proxy secret: %w", err)
325326
}
@@ -336,7 +337,7 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
336337
return false, fmt.Errorf("failed to delete listener role binding: %w", err)
337338
}
338339
}
339-
return false, nil
340+
requeue = true
340341
case !kerrors.IsNotFound(err):
341342
return false, fmt.Errorf("failed to get listener role binding: %w", err)
342343
}
@@ -352,7 +353,7 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
352353
return false, fmt.Errorf("failed to delete listener role: %w", err)
353354
}
354355
}
355-
return false, nil
356+
requeue = true
356357
case !kerrors.IsNotFound(err):
357358
return false, fmt.Errorf("failed to get listener role: %w", err)
358359
}
@@ -369,13 +370,13 @@ func (r *AutoscalingListenerReconciler) cleanupResources(ctx context.Context, au
369370
return false, fmt.Errorf("failed to delete listener service account: %w", err)
370371
}
371372
}
372-
return false, nil
373+
requeue = true
373374
case !kerrors.IsNotFound(err):
374375
return false, fmt.Errorf("failed to get listener service account: %w", err)
375376
}
376377
logger.Info("Listener service account is deleted")
377378

378-
return true, nil
379+
return requeue, nil
379380
}
380381

381382
func (r *AutoscalingListenerReconciler) createServiceAccountForListener(ctx context.Context, autoscalingListener *v1alpha1.AutoscalingListener, logger logr.Logger) (ctrl.Result, error) {

0 commit comments

Comments
 (0)