@@ -59,9 +59,9 @@ import (
5959 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/ssm"
6060 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/userdata"
6161 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/logger"
62+ "sigs.k8s.io/cluster-api-provider-aws/v2/util/paused"
6263 clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
6364 "sigs.k8s.io/cluster-api/util"
64- "sigs.k8s.io/cluster-api/util/annotations"
6565 "sigs.k8s.io/cluster-api/util/conditions"
6666 "sigs.k8s.io/cluster-api/util/predicates"
6767)
@@ -183,11 +183,6 @@ func (r *AWSMachineReconciler) Reconcile(ctx context.Context, req ctrl.Request)
183183 return ctrl.Result {}, nil
184184 }
185185
186- if annotations .IsPaused (cluster , awsMachine ) {
187- log .Info ("AWSMachine or linked Cluster is marked as paused. Won't reconcile" )
188- return ctrl.Result {}, nil
189- }
190-
191186 log = log .WithValues ("cluster" , klog .KObj (cluster ))
192187
193188 infraCluster , err := r .getInfraCluster (ctx , log , cluster , awsMachine )
@@ -201,6 +196,10 @@ func (r *AWSMachineReconciler) Reconcile(ctx context.Context, req ctrl.Request)
201196
202197 infrav1 .SetDefaults_AWSMachineSpec (& awsMachine .Spec )
203198
199+ if isPaused , conditionChanged , err := paused .EnsurePausedCondition (ctx , r .Client , cluster , awsMachine ); err != nil || isPaused || conditionChanged {
200+ return ctrl.Result {}, err
201+ }
202+
204203 // Create the machine scope
205204 machineScope , err := scope .NewMachineScope (scope.MachineScopeParams {
206205 Client : r .Client ,
@@ -254,7 +253,7 @@ func (r *AWSMachineReconciler) SetupWithManager(ctx context.Context, mgr ctrl.Ma
254253 & infrav1.AWSCluster {},
255254 handler .EnqueueRequestsFromMapFunc (AWSClusterToAWSMachines ),
256255 ).
257- WithEventFilter (predicates .ResourceNotPausedAndHasFilterLabel (mgr .GetScheme (), log .GetLogger (), r .WatchFilterValue )).
256+ WithEventFilter (predicates .ResourceHasFilterLabel (mgr .GetScheme (), log .GetLogger (), r .WatchFilterValue )).
258257 WithEventFilter (
259258 predicate.Funcs {
260259 // Avoid reconciling if the event triggering the reconciliation is related to incremental status updates
0 commit comments