@@ -154,7 +154,9 @@ func (r *LinodeClusterReconciler) reconcile(
154
154
// Handle deleted clusters
155
155
if ! clusterScope .LinodeCluster .DeletionTimestamp .IsZero () {
156
156
if err := r .reconcileDelete (ctx , logger , clusterScope ); err != nil {
157
- if ! reconciler .HasConditionSeverity (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .ConditionSeverityError ) {
157
+ if ! reconciler .HasStaleCondition (clusterScope .LinodeCluster ,
158
+ clusterv1 .ReadyCondition ,
159
+ reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultClusterControllerReconcileTimeout )) {
158
160
logger .Info ("re-queuing cluster/nb deletion" )
159
161
return ctrl.Result {RequeueAfter : reconciler .DefaultClusterControllerReconcileDelay }, nil
160
162
}
@@ -176,7 +178,9 @@ func (r *LinodeClusterReconciler) reconcile(
176
178
// Create
177
179
if clusterScope .LinodeCluster .Spec .ControlPlaneEndpoint .Host == "" {
178
180
if err := r .reconcileCreate (ctx , logger , clusterScope ); err != nil {
179
- if ! reconciler .HasConditionSeverity (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .ConditionSeverityError ) {
181
+ if ! reconciler .HasStaleCondition (clusterScope .LinodeCluster ,
182
+ clusterv1 .ReadyCondition ,
183
+ reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultClusterControllerReconcileTimeout )) {
180
184
logger .Info ("re-queuing cluster/load-balancer creation" )
181
185
return ctrl.Result {RequeueAfter : reconciler .DefaultClusterControllerReconcileDelay }, nil
182
186
}
@@ -207,7 +211,7 @@ func (r *LinodeClusterReconciler) performPreflightChecks(ctx context.Context, lo
207
211
if ! reconciler .ConditionTrue (clusterScope .LinodeCluster , ConditionPreflightLinodeVPCReady ) {
208
212
res , err := r .reconcilePreflightLinodeVPCCheck (ctx , logger , clusterScope )
209
213
if err != nil || ! res .IsZero () {
210
- conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeVPCReady , "linode vpc not yet available" , clusterv1 . ConditionSeverityError , "" )
214
+ conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeVPCReady , "linode vpc not yet available" , "" , "" )
211
215
return res , err
212
216
}
213
217
}
@@ -218,7 +222,7 @@ func (r *LinodeClusterReconciler) performPreflightChecks(ctx context.Context, lo
218
222
if ! reconciler .ConditionTrue (clusterScope .LinodeCluster , ConditionPreflightLinodeNBFirewallReady ) {
219
223
res , err := r .reconcilePreflightLinodeFirewallCheck (ctx , logger , clusterScope )
220
224
if err != nil || ! res .IsZero () {
221
- conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeNBFirewallReady , "linode firewall not yet available" , clusterv1 . ConditionSeverityError , "" )
225
+ conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeNBFirewallReady , "linode firewall not yet available" , "" , "" )
222
226
return res , err
223
227
}
224
228
}
@@ -245,9 +249,10 @@ func (r *LinodeClusterReconciler) reconcilePreflightLinodeFirewallCheck(ctx cont
245
249
err := clusterScope .Client .Get (ctx , objectKey , linodeFirewall )
246
250
if err != nil {
247
251
logger .Error (err , "Failed to fetch LinodeFirewall" )
248
- if reconciler .RecordDecayingCondition (clusterScope .LinodeCluster ,
249
- ConditionPreflightLinodeNBFirewallReady , string ( cerrs . CreateClusterError ), err . Error (),
252
+ if reconciler .HasStaleCondition (clusterScope .LinodeCluster ,
253
+ ConditionPreflightLinodeNBFirewallReady ,
250
254
reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultClusterControllerReconcileTimeout )) {
255
+ conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeNBFirewallReady , string (cerrs .CreateClusterError ), "" , "%s" , err .Error ())
251
256
return ctrl.Result {}, err
252
257
}
253
258
return ctrl.Result {RequeueAfter : reconciler .DefaultClusterControllerReconcileDelay }, nil
@@ -276,9 +281,10 @@ func (r *LinodeClusterReconciler) reconcilePreflightLinodeVPCCheck(ctx context.C
276
281
}
277
282
if err := clusterScope .Client .Get (ctx , client .ObjectKeyFromObject (& linodeVPC ), & linodeVPC ); err != nil {
278
283
logger .Error (err , "Failed to fetch LinodeVPC" )
279
- if reconciler .RecordDecayingCondition (clusterScope .LinodeCluster ,
280
- ConditionPreflightLinodeVPCReady , string ( cerrs . CreateClusterError ), err . Error (),
284
+ if reconciler .HasStaleCondition (clusterScope .LinodeCluster ,
285
+ ConditionPreflightLinodeVPCReady ,
281
286
reconciler .DefaultTimeout (r .ReconcileTimeout , reconciler .DefaultClusterControllerReconcileTimeout )) {
287
+ conditions .MarkFalse (clusterScope .LinodeCluster , ConditionPreflightLinodeVPCReady , string (cerrs .CreateClusterError ), "" , "%s" , err .Error ())
282
288
return ctrl.Result {}, err
283
289
}
284
290
return ctrl.Result {RequeueAfter : reconciler .DefaultClusterControllerReconcileDelay }, nil
@@ -294,7 +300,7 @@ func setFailureReason(clusterScope *scope.ClusterScope, failureReason cerrs.Clus
294
300
clusterScope .LinodeCluster .Status .FailureReason = util .Pointer (failureReason )
295
301
clusterScope .LinodeCluster .Status .FailureMessage = util .Pointer (err .Error ())
296
302
297
- reconciler . RecordDecayingCondition (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , string (failureReason ), err . Error (), reconciler . DefaultTimeout ( lcr . ReconcileTimeout , reconciler . DefaultClusterControllerReconcileTimeout ))
303
+ conditions . MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , string (failureReason ), "" , "%s" , err . Error ( ))
298
304
299
305
lcr .Recorder .Event (clusterScope .LinodeCluster , corev1 .EventTypeWarning , string (failureReason ), err .Error ())
300
306
}
@@ -323,14 +329,14 @@ func (r *LinodeClusterReconciler) reconcileDelete(ctx context.Context, logger lo
323
329
switch {
324
330
case clusterScope .LinodeCluster .Spec .Network .LoadBalancerType == "external" :
325
331
logger .Info ("LoadBalacing managed externally, nothing to do." )
326
- conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , clusterv1 . ConditionSeverityInfo , "Deletion in progress" )
332
+ conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , "" , "%s" , "Deletion in progress" )
327
333
r .Recorder .Event (clusterScope .LinodeCluster , corev1 .EventTypeWarning , "LoadBalacing managed externally" , "LoadBalacing managed externally, nothing to do." )
328
334
329
335
case clusterScope .LinodeCluster .Spec .Network .LoadBalancerType == lbTypeDNS :
330
336
if err := removeMachineFromDNS (ctx , logger , clusterScope ); err != nil {
331
337
return fmt .Errorf ("remove machine from loadbalancer: %w" , err )
332
338
}
333
- conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , clusterv1 . ConditionSeverityInfo , "Load balancing for Type DNS deleted" )
339
+ conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , "" , "%s" , "Load balancing for Type DNS deleted" )
334
340
r .Recorder .Event (clusterScope .LinodeCluster , corev1 .EventTypeNormal , clusterv1 .DeletedReason , "Load balancing for Type DNS deleted" )
335
341
336
342
case clusterScope .LinodeCluster .Spec .Network .LoadBalancerType == "NodeBalancer" && clusterScope .LinodeCluster .Spec .Network .NodeBalancerID == nil :
@@ -349,7 +355,7 @@ func (r *LinodeClusterReconciler) reconcileDelete(ctx context.Context, logger lo
349
355
return err
350
356
}
351
357
352
- conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , clusterv1 . ConditionSeverityInfo , "Load balancer for Type NodeBalancer deleted" )
358
+ conditions .MarkFalse (clusterScope .LinodeCluster , clusterv1 .ReadyCondition , clusterv1 .DeletedReason , "" , "%s" , "Load balancer for Type NodeBalancer deleted" )
353
359
r .Recorder .Event (clusterScope .LinodeCluster , corev1 .EventTypeNormal , clusterv1 .DeletedReason , "Load balancer for Type NodeBalancer deleted" )
354
360
355
361
clusterScope .LinodeCluster .Spec .Network .NodeBalancerID = nil
0 commit comments