Skip to content

Commit 4314193

Browse files
committed
move foreign finalizer detection in helper method
1 parent 1b6c3a0 commit 4314193

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

internal/controller/cluster_controller.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,7 @@ func (r *ClusterReconciler) handleDelete(ctx context.Context, cluster *clustersv
9797
cluster.Status.Phase = commonapi.StatusPhaseTerminating
9898

9999
// check if there are any foreign finalizers on the Cluster resource
100-
foreignFinalizers := make([]string, 0, len(cluster.Finalizers))
101-
found := false
102-
for _, fin := range cluster.Finalizers {
103-
if fin != Finalizer {
104-
foreignFinalizers = append(foreignFinalizers, fin)
105-
} else {
106-
found = true
107-
}
108-
}
100+
foreignFinalizers, found := identifyFinalizers(cluster)
109101
if !found {
110102
// Nothing to do
111103
return ctrl.Result{}, nil
@@ -260,3 +252,19 @@ func isClusterProviderResponsible(cluster *clustersv1alpha1.Cluster) bool {
260252
func runsOnLocalHost() bool {
261253
return os.Getenv("KIND_ON_LOCAL_HOST") == "true"
262254
}
255+
256+
// identifyFinalizers checks two things for the given object:
257+
// 1. If the 'clusters.openmcp.cloud/finalizer' finalizer is present (second return value).
258+
// 2. Which other finalizers are present (first return value).
259+
func identifyFinalizers(obj client.Object) ([]string, bool) {
260+
foreignFinalizers := make([]string, 0, len(obj.GetFinalizers()))
261+
found := false
262+
for _, fin := range obj.GetFinalizers() {
263+
if fin != Finalizer {
264+
foreignFinalizers = append(foreignFinalizers, fin)
265+
} else {
266+
found = true
267+
}
268+
}
269+
return foreignFinalizers, found
270+
}

0 commit comments

Comments
 (0)