@@ -37,9 +37,9 @@ import (
3737 expinfrav1 "sigs.k8s.io/cluster-api-provider-aws/v2/exp/api/v1beta2"
3838 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/scope"
3939 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/logger"
40+ "sigs.k8s.io/cluster-api-provider-aws/v2/util/paused"
4041 clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
4142 "sigs.k8s.io/cluster-api/util"
42- "sigs.k8s.io/cluster-api/util/annotations"
4343 "sigs.k8s.io/cluster-api/util/patch"
4444 "sigs.k8s.io/cluster-api/util/predicates"
4545)
@@ -82,9 +82,8 @@ func (r *ROSAClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request)
8282 return reconcile.Result {}, nil
8383 }
8484
85- if annotations .IsPaused (cluster , rosaCluster ) {
86- log .Info ("ROSACluster or linked Cluster is marked as paused. Won't reconcile" )
87- return reconcile.Result {}, nil
85+ if isPaused , conditionChanged , err := paused .EnsurePausedCondition (ctx , r .Client , cluster , rosaCluster ); err != nil || isPaused || conditionChanged {
86+ return ctrl.Result {}, err
8887 }
8988
9089 log = log .WithValues ("cluster" , cluster .Name )
@@ -127,7 +126,7 @@ func (r *ROSAClusterReconciler) SetupWithManager(ctx context.Context, mgr ctrl.M
127126 controller , err := ctrl .NewControllerManagedBy (mgr ).
128127 WithOptions (options ).
129128 For (rosaCluster ).
130- WithEventFilter (predicates .ResourceNotPausedAndHasFilterLabel (mgr .GetScheme (), ctrl .LoggerFrom (ctx ), r .WatchFilterValue )).
129+ WithEventFilter (predicates .ResourceHasFilterLabel (mgr .GetScheme (), ctrl .LoggerFrom (ctx ), r .WatchFilterValue )).
131130 Build (r )
132131
133132 if err != nil {
@@ -138,7 +137,7 @@ func (r *ROSAClusterReconciler) SetupWithManager(ctx context.Context, mgr ctrl.M
138137 if err = controller .Watch (
139138 source .Kind [client.Object ](mgr .GetCache (), & clusterv1.Cluster {},
140139 handler .EnqueueRequestsFromMapFunc (util .ClusterToInfrastructureMapFunc (ctx , infrav1 .GroupVersion .WithKind ("ROSACluster" ), mgr .GetClient (), & expinfrav1.ROSACluster {})),
141- predicates .ClusterUnpaused (mgr .GetScheme (), log .GetLogger ())),
140+ predicates .ClusterPausedTransitions (mgr .GetScheme (), log .GetLogger ())),
142141 ); err != nil {
143142 return fmt .Errorf ("failed adding a watch for ready clusters: %w" , err )
144143 }
0 commit comments