@@ -28,27 +28,6 @@ import (
2828 "go.goms.io/fleet/pkg/utils/defaulter"
2929)
3030
31- const (
32- clusterResourcePlacementEvictionValidReason = "ClusterResourcePlacementEvictionValid"
33- clusterResourcePlacementEvictionInvalidReason = "ClusterResourcePlacementEvictionInvalid"
34- clusterResourcePlacementEvictionExecutedReason = "ClusterResourcePlacementEvictionExecuted"
35- clusterResourcePlacementEvictionNotExecutedReason = "ClusterResourcePlacementEvictionNotExecuted"
36-
37- evictionInvalidMissingCRPMessage = "Failed to find ClusterResourcePlacement targeted by eviction"
38- evictionInvalidDeletingCRPMessage = "Found deleting ClusterResourcePlacement targeted by eviction"
39- evictionInvalidMissingCRBMessage = "Failed to find scheduler decision for placement in cluster targeted by eviction"
40- evictionInvalidMultipleCRBMessage = "Found more than one scheduler decision for placement in cluster targeted by eviction"
41- evictionValidMessage = "Eviction is valid"
42- evictionAllowedNoPDBMessage = "Eviction is allowed, no ClusterResourcePlacementDisruptionBudget specified"
43- evictionAllowedPlacementRemovedMessage = "Eviction is allowed, resources propagated by placement is currently being removed from cluster targeted by eviction"
44- evictionAllowedPlacementFailedMessage = "Eviction is allowed, placement has failed"
45- evictionBlockedMisconfiguredPDBSpecifiedMessage = "Eviction is blocked by misconfigured ClusterResourcePlacementDisruptionBudget, either MaxUnavailable is specified or MinAvailable is specified as a percentage for PickAll ClusterResourcePlacement"
46- evictionBlockedMissingPlacementMessage = "Eviction is blocked, placement has not propagated resources to target cluster yet"
47-
48- evictionAllowedPDBSpecifiedFmt = "Eviction is allowed by specified ClusterResourcePlacementDisruptionBudget, availablePlacements: %d, totalPlacements: %d"
49- evictionBlockedPDBSpecifiedFmt = "Eviction is blocked by specified ClusterResourcePlacementDisruptionBudget, availablePlacements: %d, totalPlacements: %d"
50- )
51-
5231// Reconciler reconciles a ClusterResourcePlacementEviction object.
5332type Reconciler struct {
5433 client.Client
@@ -97,8 +76,8 @@ func (r *Reconciler) validateEviction(ctx context.Context, eviction *placementv1
9776 var crp placementv1beta1.ClusterResourcePlacement
9877 if err := r .Client .Get (ctx , types.NamespacedName {Name : eviction .Spec .PlacementName }, & crp ); err != nil {
9978 if k8serrors .IsNotFound (err ) {
100- klog .V (2 ).InfoS (evictionInvalidMissingCRPMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
101- markEvictionInvalid (eviction , evictionInvalidMissingCRPMessage )
79+ klog .V (2 ).InfoS (condition . EvictionInvalidMissingCRPMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
80+ markEvictionInvalid (eviction , condition . EvictionInvalidMissingCRPMessage )
10281 return validationResult , nil
10382 }
10483 return nil , controller .NewAPIServerError (true , err )
@@ -108,8 +87,8 @@ func (r *Reconciler) validateEviction(ctx context.Context, eviction *placementv1
10887 defaulter .SetDefaultsClusterResourcePlacement (& crp )
10988
11089 if crp .DeletionTimestamp != nil {
111- klog .V (2 ).InfoS (evictionInvalidDeletingCRPMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
112- markEvictionInvalid (eviction , evictionInvalidDeletingCRPMessage )
90+ klog .V (2 ).InfoS (condition . EvictionInvalidDeletingCRPMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
91+ markEvictionInvalid (eviction , condition . EvictionInvalidDeletingCRPMessage )
11392 return validationResult , nil
11493 }
11594 validationResult .crp = & crp
@@ -126,15 +105,15 @@ func (r *Reconciler) validateEviction(ctx context.Context, eviction *placementv1
126105 if evictionTargetBinding == nil {
127106 evictionTargetBinding = & crbList .Items [i ]
128107 } else {
129- klog .V (2 ).InfoS (evictionInvalidMultipleCRBMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
130- markEvictionInvalid (eviction , evictionInvalidMultipleCRBMessage )
108+ klog .V (2 ).InfoS (condition . EvictionInvalidMultipleCRBMessage , "clusterResourcePlacementEviction" , eviction .Name , "clusterResourcePlacement" , eviction .Spec .PlacementName )
109+ markEvictionInvalid (eviction , condition . EvictionInvalidMultipleCRBMessage )
131110 return validationResult , nil
132111 }
133112 }
134113 }
135114 if evictionTargetBinding == nil {
136115 klog .V (2 ).InfoS ("Failed to find cluster resource binding for cluster targeted by eviction" , "clusterResourcePlacementEviction" , eviction .Name , "targetCluster" , eviction .Spec .ClusterName )
137- markEvictionInvalid (eviction , evictionInvalidMissingCRBMessage )
116+ markEvictionInvalid (eviction , condition . EvictionInvalidMissingCRBMessage )
138117 return validationResult , nil
139118 }
140119 validationResult .crb = evictionTargetBinding
@@ -179,14 +158,14 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
179158 if evictionTargetBinding .GetDeletionTimestamp () != nil {
180159 klog .V (2 ).InfoS ("ClusterResourceBinding targeted by eviction is being deleted" ,
181160 "clusterResourcePlacementEviction" , eviction .Name , "clusterResourceBinding" , evictionTargetBinding .Name , "targetCluster" , eviction .Spec .ClusterName )
182- markEvictionExecuted (eviction , evictionAllowedPlacementRemovedMessage )
161+ markEvictionExecuted (eviction , condition . EvictionAllowedPlacementRemovedMessage )
183162 return nil
184163 }
185164
186165 if ! isPlacementPresent (evictionTargetBinding ) {
187166 klog .V (2 ).InfoS ("No resources have been placed for ClusterResourceBinding in target cluster" ,
188167 "clusterResourcePlacementEviction" , eviction .Name , "clusterResourceBinding" , evictionTargetBinding .Name , "targetCluster" , eviction .Spec .ClusterName )
189- markEvictionNotExecuted (eviction , evictionBlockedMissingPlacementMessage )
168+ markEvictionNotExecuted (eviction , condition . EvictionBlockedMissingPlacementMessage )
190169 return nil
191170 }
192171
@@ -197,7 +176,7 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
197176 if err := r .deleteClusterResourceBinding (ctx , evictionTargetBinding ); err != nil {
198177 return err
199178 }
200- markEvictionExecuted (eviction , evictionAllowedPlacementFailedMessage )
179+ markEvictionExecuted (eviction , condition . EvictionAllowedPlacementFailedMessage )
201180 return nil
202181 }
203182
@@ -207,7 +186,7 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
207186 if err = r .deleteClusterResourceBinding (ctx , evictionTargetBinding ); err != nil {
208187 return err
209188 }
210- markEvictionExecuted (eviction , evictionAllowedNoPDBMessage )
189+ markEvictionExecuted (eviction , condition . EvictionAllowedNoPDBMessage )
211190 return nil
212191 }
213192 return controller .NewAPIServerError (true , err )
@@ -216,7 +195,7 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
216195 // handle special case for PickAll CRP.
217196 if crp .Spec .Policy .PlacementType == placementv1beta1 .PickAllPlacementType {
218197 if db .Spec .MaxUnavailable != nil || (db .Spec .MinAvailable != nil && db .Spec .MinAvailable .Type == intstr .String ) {
219- markEvictionNotExecuted (eviction , evictionBlockedMisconfiguredPDBSpecifiedMessage )
198+ markEvictionNotExecuted (eviction , condition . EvictionBlockedMisconfiguredPDBSpecifiedMessage )
220199 return nil
221200 }
222201 }
@@ -227,9 +206,9 @@ func (r *Reconciler) executeEviction(ctx context.Context, validationResult *evic
227206 if err := r .deleteClusterResourceBinding (ctx , evictionTargetBinding ); err != nil {
228207 return err
229208 }
230- markEvictionExecuted (eviction , fmt .Sprintf (evictionAllowedPDBSpecifiedFmt , availableBindings , totalBindings ))
209+ markEvictionExecuted (eviction , fmt .Sprintf (condition . EvictionAllowedPDBSpecifiedMessageFmt , availableBindings , totalBindings ))
231210 } else {
232- markEvictionNotExecuted (eviction , fmt .Sprintf (evictionBlockedPDBSpecifiedFmt , availableBindings , totalBindings ))
211+ markEvictionNotExecuted (eviction , fmt .Sprintf (condition . EvictionBlockedPDBSpecifiedMessageFmt , availableBindings , totalBindings ))
233212 }
234213 return nil
235214}
@@ -315,8 +294,8 @@ func markEvictionValid(eviction *placementv1alpha1.ClusterResourcePlacementEvict
315294 Type : string (placementv1alpha1 .PlacementEvictionConditionTypeValid ),
316295 Status : metav1 .ConditionTrue ,
317296 ObservedGeneration : eviction .Generation ,
318- Reason : clusterResourcePlacementEvictionValidReason ,
319- Message : evictionValidMessage ,
297+ Reason : condition . ClusterResourcePlacementEvictionValidReason ,
298+ Message : condition . EvictionValidMessage ,
320299 }
321300 eviction .SetConditions (cond )
322301
@@ -329,7 +308,7 @@ func markEvictionInvalid(eviction *placementv1alpha1.ClusterResourcePlacementEvi
329308 Type : string (placementv1alpha1 .PlacementEvictionConditionTypeValid ),
330309 Status : metav1 .ConditionFalse ,
331310 ObservedGeneration : eviction .Generation ,
332- Reason : clusterResourcePlacementEvictionInvalidReason ,
311+ Reason : condition . ClusterResourcePlacementEvictionInvalidReason ,
333312 Message : message ,
334313 }
335314 eviction .SetConditions (cond )
@@ -342,7 +321,7 @@ func markEvictionExecuted(eviction *placementv1alpha1.ClusterResourcePlacementEv
342321 Type : string (placementv1alpha1 .PlacementEvictionConditionTypeExecuted ),
343322 Status : metav1 .ConditionTrue ,
344323 ObservedGeneration : eviction .Generation ,
345- Reason : clusterResourcePlacementEvictionExecutedReason ,
324+ Reason : condition . ClusterResourcePlacementEvictionExecutedReason ,
346325 Message : message ,
347326 }
348327 eviction .SetConditions (cond )
@@ -355,7 +334,7 @@ func markEvictionNotExecuted(eviction *placementv1alpha1.ClusterResourcePlacemen
355334 Type : string (placementv1alpha1 .PlacementEvictionConditionTypeExecuted ),
356335 Status : metav1 .ConditionFalse ,
357336 ObservedGeneration : eviction .Generation ,
358- Reason : clusterResourcePlacementEvictionNotExecutedReason ,
337+ Reason : condition . ClusterResourcePlacementEvictionNotExecutedReason ,
359338 Message : message ,
360339 }
361340 eviction .SetConditions (cond )
0 commit comments