@@ -35,9 +35,9 @@ import (
35
35
infrav1 "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
36
36
ekscontrolplanev1 "sigs.k8s.io/cluster-api-provider-aws/v2/controlplane/eks/api/v1beta2"
37
37
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/logger"
38
+ "sigs.k8s.io/cluster-api-provider-aws/v2/util/paused"
38
39
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
39
40
"sigs.k8s.io/cluster-api/util"
40
- "sigs.k8s.io/cluster-api/util/annotations"
41
41
"sigs.k8s.io/cluster-api/util/patch"
42
42
"sigs.k8s.io/cluster-api/util/predicates"
43
43
)
@@ -78,11 +78,6 @@ func (r *AWSManagedClusterReconciler) Reconcile(ctx context.Context, req ctrl.Re
78
78
return reconcile.Result {}, nil
79
79
}
80
80
81
- if annotations .IsPaused (cluster , awsManagedCluster ) {
82
- log .Info ("AWSManagedCluster or linked Cluster is marked as paused. Won't reconcile" )
83
- return reconcile.Result {}, nil
84
- }
85
-
86
81
log = log .WithValues ("cluster" , cluster .Name )
87
82
88
83
controlPlane := & ekscontrolplanev1.AWSManagedControlPlane {}
@@ -95,6 +90,10 @@ func (r *AWSManagedClusterReconciler) Reconcile(ctx context.Context, req ctrl.Re
95
90
return reconcile.Result {}, fmt .Errorf ("failed to get control plane ref: %w" , err )
96
91
}
97
92
93
+ if isPaused , conditionChanged , err := paused .EnsurePausedCondition (ctx , r .Client , cluster , awsManagedCluster ); err != nil || isPaused || conditionChanged {
94
+ return ctrl.Result {}, err
95
+ }
96
+
98
97
log = log .WithValues ("controlPlane" , controlPlaneRef .Name )
99
98
100
99
patchHelper , err := patch .NewHelper (awsManagedCluster , r .Client )
@@ -124,19 +123,19 @@ func (r *AWSManagedClusterReconciler) SetupWithManager(ctx context.Context, mgr
124
123
controller , err := ctrl .NewControllerManagedBy (mgr ).
125
124
WithOptions (options ).
126
125
For (awsManagedCluster ).
127
- WithEventFilter (predicates .ResourceNotPausedAndHasFilterLabel (mgr .GetScheme (), ctrl .LoggerFrom (ctx ), r .WatchFilterValue )).
126
+ WithEventFilter (predicates .ResourceHasFilterLabel (mgr .GetScheme (), ctrl .LoggerFrom (ctx ), r .WatchFilterValue )).
128
127
WithEventFilter (predicates .ResourceIsNotExternallyManaged (mgr .GetScheme (), log .GetLogger ())).
129
128
Build (r )
130
129
131
130
if err != nil {
132
131
return fmt .Errorf ("error creating controller: %w" , err )
133
132
}
134
133
135
- // Add a watch for clusterv1.Cluster unpaise
134
+ // Add a watch for clusterv1.Cluster unpause
136
135
if err = controller .Watch (
137
136
source .Kind [client.Object ](mgr .GetCache (), & clusterv1.Cluster {},
138
137
handler .EnqueueRequestsFromMapFunc (util .ClusterToInfrastructureMapFunc (ctx , infrav1 .GroupVersion .WithKind ("AWSManagedCluster" ), mgr .GetClient (), & infrav1.AWSManagedCluster {})),
139
- predicates .ClusterUnpaused (mgr .GetScheme (), log .GetLogger ())),
138
+ predicates .ClusterPausedTransitions (mgr .GetScheme (), log .GetLogger ())),
140
139
); err != nil {
141
140
return fmt .Errorf ("failed adding a watch for ready clusters: %w" , err )
142
141
}
0 commit comments