@@ -215,16 +215,16 @@ func (ch *ControllerHelper) AddFinalizerIfNotPresent(instance crutils.Instance,
215
215
}
216
216
217
217
if ! util .Contains (accessor .GetFinalizers (), finalizerName ) {
218
- logger .Info ("adding" , " finalizer" , finalizerName , "on" , accessor .GetName ())
218
+ logger .Info ("adding finalizer to CR " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
219
219
accessor .SetFinalizers (append (accessor .GetFinalizers (), finalizerName ))
220
220
221
221
if err := ch .Update (context .TODO (), unwrappedInstance ); err != nil {
222
- logger .Error (err , "failed to add" , " finalizer" , finalizerName , "on" , accessor .GetName ())
222
+ logger .Error (err , "failed to add finalizer to CR " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
223
223
return err
224
224
}
225
- logger .Info ("AddFinalizerIfNotPresent: finalizer added on " , accessor .GetName ())
225
+ logger .Info ("finalizer added to CR " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
226
226
} else {
227
- logger .Info ("AddFinalizerIfNotPresent: finalizer already present on " , accessor .GetName ())
227
+ logger .Info ("finalizer already present on CR. Ignoring... " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
228
228
}
229
229
return nil
230
230
}
@@ -240,14 +240,20 @@ func (ch *ControllerHelper) RemoveFinalizer(instance crutils.Instance,
240
240
}
241
241
242
242
if ! util .Contains (accessor .GetFinalizers (), finalizerName ) {
243
- logger .Info ("RemoveFinalizer: finalizer already removed from " , accessor .GetName ())
243
+ logger .Info ("finalizer already removed from CR. Ignoring... " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
244
244
} else {
245
+ logger .Info ("removing finalizer from CR" , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
245
246
accessor .SetFinalizers (util .Remove (accessor .GetFinalizers (), finalizerName ))
247
+
248
+ // Remove old finalizer for backward compatibility, if present
249
+ oldFinalizer := "ibmobjectcsi.objectdriver.csi.ibm.com"
250
+ accessor .SetFinalizers (util .Remove (accessor .GetFinalizers (), oldFinalizer ))
251
+
246
252
if err := ch .Update (context .TODO (), unwrappedInstance ); err != nil {
247
- logger .Error (err , "failed to remove" , " finalizer" , finalizerName , "from" , accessor .GetName ())
253
+ logger .Error (err , "failed to remove finalizer from CR " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
248
254
return err
249
255
}
250
- logger .Info ("RemoveFinalizer: finalizer removed from " , accessor .GetName ())
256
+ logger .Info ("finalizer removed from CR " , "CR name" , accessor .GetName (), "finalizer" , finalizerName )
251
257
}
252
258
253
259
err = ch .updateControllerFinalizer (context .TODO (), constants .RemoveFinalizer , finalizerName )
@@ -280,7 +286,6 @@ func (ch *ControllerHelper) getAccessorAndFinalizerName(instance crutils.Instanc
280
286
func (ch * ControllerHelper ) GetClusterInfo (inConfig rest.Config ) error {
281
287
logger := ch .Log .WithName ("getClusterInfo" )
282
288
logger .Info ("Checking cluster platform..." )
283
-
284
289
var listOptions = & client.ListOptions {}
285
290
var err error
286
291
nodes := corev1.NodeList {}
@@ -437,45 +442,44 @@ func (ch *ControllerHelper) SetS3ProviderEP() {
437
442
// Update finalizer to Controller Deployment under NS "ibm-object-csi-operator"
438
443
// op = 1 Add finalizer op = 2 Remove finalizer
439
444
func (ch * ControllerHelper ) updateControllerFinalizer (ctx context.Context , op constants.FinalizerOps , finalizerName string ) error {
440
- ch .Log .Info ("updateControllerFinalizer(): Entry" )
441
- defer ch .Log .Info ("updateControllerFinalizer(): Exit" )
445
+ logger := ch .Log .WithValues ("name" , constants .DeploymentName , "namespace" , constants .CSIOperatorNamespace , "finalizer" , finalizerName )
446
+ logger .Info ("updateControllerFinalizer: Entry" )
447
+ defer logger .Info ("updateControllerFinalizer: Exit" )
442
448
443
449
ctrlDep := & appsv1.Deployment {}
444
450
err := ch .Get (ctx , client.ObjectKey {Namespace : constants .CSIOperatorNamespace , Name : constants .DeploymentName }, ctrlDep )
445
451
if err != nil {
446
- ch . Log . Error (err , "updateControllerFinalizer() : controller deployment not found. retrying ..." )
452
+ logger . Error (err , "updateControllerFinalizer: controller deployment not found. Retrying ..." )
447
453
return err
448
454
}
449
455
450
456
if op == constants .AddFinalizer { // Add finalizer
451
- ch .Log .Info ("updateControllerFinalizer(): add finalizer to controller deployment" )
452
- chk := controllerutil .ContainsFinalizer (ctrlDep , finalizerName )
453
- if ! chk {
457
+ logger .Info ("updateControllerFinalizer: adding finalizer to controller deployment" )
458
+ if exists := controllerutil .ContainsFinalizer (ctrlDep , finalizerName ); ! exists {
454
459
controllerutil .AddFinalizer (ctrlDep , finalizerName )
455
460
err = ch .Update (ctx , ctrlDep )
456
461
if err != nil {
457
- ch . Log . Error (err , "updateControllerFinalizer() : failed to add the finalizer" )
462
+ logger . Error (err , "updateControllerFinalizer: failed to add finalizer to controller deployment " )
458
463
return err
459
464
}
460
- ch . Log . Info ("updateControllerFinalizer() : finalizer has been added in controller deployment" )
465
+ logger . Info ("updateControllerFinalizer: finalizer has been added to controller deployment" )
461
466
} else {
462
- ch . Log . Info ("updateControllerFinalizer() : finalizer already present in controller deployment" )
467
+ logger . Info ("updateControllerFinalizer: finalizer already present in controller deployment. Ignoring... " )
463
468
}
464
469
}
465
470
466
471
if op == constants .RemoveFinalizer { // Remove finalizer
467
- ch .Log .Info ("updateControllerFinalizer(): remove finalizer from controller deployment" )
468
- chk := controllerutil .ContainsFinalizer (ctrlDep , finalizerName )
469
- if chk {
472
+ logger .Info ("updateControllerFinalizer: removing finalizer from controller deployment" )
473
+ if exists := controllerutil .ContainsFinalizer (ctrlDep , finalizerName ); exists {
470
474
controllerutil .RemoveFinalizer (ctrlDep , finalizerName )
471
475
err = ch .Update (ctx , ctrlDep )
472
476
if err != nil {
473
- ch . Log . Error (err , "updateControllerFinalizer(): Failed to remove finalizer" )
477
+ logger . Error (err , "updateControllerFinalizer: failed to remove finalizer from controller deployment " )
474
478
return err
475
479
}
476
- ch . Log . Info ("updateControllerFinalizer() : finalizer has been removed from controller deployment" )
480
+ logger . Info ("updateControllerFinalizer: finalizer has been removed from controller deployment" )
477
481
} else {
478
- ch . Log . Info ("updateControllerFinalizer() : finalizer not present in controller deployment" )
482
+ logger . Info ("updateControllerFinalizer: finalizer not found in controller deployment. Ignoring... " )
479
483
}
480
484
}
481
485
0 commit comments