Skip to content

Commit 3e52b74

Browse files
authored
Use new helper controllerutil.ContainsFinalizer (#302)
1 parent ced108a commit 3e52b74

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

controllers/rabbitmqcluster_controller.go

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -445,17 +445,8 @@ func (r *RabbitmqClusterReconciler) logAndRecordOperationResult(rmq runtime.Obje
445445
}
446446
}
447447

448-
func containsString(slice []string, s string) bool {
449-
for _, item := range slice {
450-
if item == s {
451-
return true
452-
}
453-
}
454-
return false
455-
}
456-
457448
func (r *RabbitmqClusterReconciler) prepareForDeletion(ctx context.Context, rabbitmqCluster *rabbitmqv1beta1.RabbitmqCluster) error {
458-
if containsString(rabbitmqCluster.ObjectMeta.Finalizers, deletionFinalizer) {
449+
if controllerutil.ContainsFinalizer(rabbitmqCluster, deletionFinalizer) {
459450
if err := clientretry.RetryOnConflict(clientretry.DefaultRetry, func() error {
460451
sts := &appsv1.StatefulSet{
461452
ObjectMeta: metav1.ObjectMeta{
@@ -467,7 +458,9 @@ func (r *RabbitmqClusterReconciler) prepareForDeletion(ctx context.Context, rabb
467458
if err := r.addRabbitmqDeletionLabel(ctx, rabbitmqCluster); err != nil {
468459
return fmt.Errorf("Failed to add deletion markers to RabbitmqCluster Pods: %s", err.Error())
469460
}
470-
// Delete StatefulSet immediately after changing pod labels to minimize risk of them respawning. There is a window where the StatefulSet could respawn Pods without the deletion label in this order. But we can't delete it before because the DownwardAPI doesn't update once a Pod enters Terminating
461+
// Delete StatefulSet immediately after changing pod labels to minimize risk of them respawning.
462+
// There is a window where the StatefulSet could respawn Pods without the deletion label in this order.
463+
// But we can't delete it before because the DownwardAPI doesn't update once a Pod enters Terminating.
471464
if err := r.Client.Delete(ctx, sts); client.IgnoreNotFound(err) != nil {
472465
return fmt.Errorf("Cannot delete StatefulSet: %s", err.Error())
473466
}
@@ -521,13 +514,12 @@ func (r *RabbitmqClusterReconciler) addRabbitmqDeletionLabel(ctx context.Context
521514

522515
func (r *RabbitmqClusterReconciler) addFinalizerIfNeeded(ctx context.Context, rabbitmqCluster *rabbitmqv1beta1.RabbitmqCluster) error {
523516
// The RabbitmqCluster is not marked for deletion (no deletion timestamp) but does not have the deletion finalizer
524-
if rabbitmqCluster.ObjectMeta.DeletionTimestamp.IsZero() && !containsString(rabbitmqCluster.ObjectMeta.Finalizers, deletionFinalizer) {
517+
if rabbitmqCluster.ObjectMeta.DeletionTimestamp.IsZero() && !controllerutil.ContainsFinalizer(rabbitmqCluster, deletionFinalizer) {
525518
controllerutil.AddFinalizer(rabbitmqCluster, deletionFinalizer)
526519
if err := r.Client.Update(ctx, rabbitmqCluster); err != nil {
527520
return err
528521
}
529522
}
530-
531523
return nil
532524
}
533525

0 commit comments

Comments
 (0)