@@ -157,24 +157,33 @@ func (c *RBApplicationFailoverController) evictBinding(binding *workv1alpha2.Res
157
157
switch binding .Spec .Failover .Application .PurgeMode {
158
158
case policyv1alpha1 .Graciously :
159
159
if features .FeatureGate .Enabled (features .GracefulEviction ) {
160
- binding .Spec .GracefulEvictCluster (cluster , workv1alpha2 .NewTaskOptions (workv1alpha2 .WithProducer (RBApplicationFailoverControllerName ),
161
- workv1alpha2 .WithReason (workv1alpha2 .EvictionReasonApplicationFailure ), workv1alpha2 .WithGracePeriodSeconds (binding .Spec .Failover .Application .GracePeriodSeconds )))
160
+ binding .Spec .GracefulEvictCluster (cluster , workv1alpha2 .NewTaskOptions (
161
+ workv1alpha2 .WithPurgeMode (policyv1alpha1 .Graciously ),
162
+ workv1alpha2 .WithProducer (RBApplicationFailoverControllerName ),
163
+ workv1alpha2 .WithReason (workv1alpha2 .EvictionReasonApplicationFailure ),
164
+ workv1alpha2 .WithGracePeriodSeconds (binding .Spec .Failover .Application .GracePeriodSeconds )))
162
165
} else {
163
166
err := fmt .Errorf ("GracefulEviction featureGate must be enabled when purgeMode is %s" , policyv1alpha1 .Graciously )
164
167
klog .Error (err )
165
168
return err
166
169
}
167
170
case policyv1alpha1 .Never :
168
171
if features .FeatureGate .Enabled (features .GracefulEviction ) {
169
- binding .Spec .GracefulEvictCluster (cluster , workv1alpha2 .NewTaskOptions (workv1alpha2 .WithProducer (RBApplicationFailoverControllerName ),
170
- workv1alpha2 .WithReason (workv1alpha2 .EvictionReasonApplicationFailure ), workv1alpha2 .WithSuppressDeletion (ptr.To [bool ](true ))))
172
+ binding .Spec .GracefulEvictCluster (cluster , workv1alpha2 .NewTaskOptions (
173
+ workv1alpha2 .WithPurgeMode (policyv1alpha1 .Never ),
174
+ workv1alpha2 .WithProducer (RBApplicationFailoverControllerName ),
175
+ workv1alpha2 .WithReason (workv1alpha2 .EvictionReasonApplicationFailure ),
176
+ workv1alpha2 .WithSuppressDeletion (ptr.To [bool ](true ))))
171
177
} else {
172
178
err := fmt .Errorf ("GracefulEviction featureGate must be enabled when purgeMode is %s" , policyv1alpha1 .Never )
173
179
klog .Error (err )
174
180
return err
175
181
}
176
182
case policyv1alpha1 .Immediately :
177
- binding .Spec .RemoveCluster (cluster )
183
+ binding .Spec .GracefulEvictCluster (cluster , workv1alpha2 .NewTaskOptions (
184
+ workv1alpha2 .WithPurgeMode (policyv1alpha1 .Immediately ),
185
+ workv1alpha2 .WithProducer (RBApplicationFailoverControllerName ),
186
+ workv1alpha2 .WithReason (workv1alpha2 .EvictionReasonApplicationFailure )))
178
187
}
179
188
}
180
189
0 commit comments