@@ -360,6 +360,19 @@ var _ = Describe("cluster-delete", Ordered, Label("cluster", "cluster-delete"),
360
360
},
361
361
}
362
362
363
+ linodeMachine := infrav1alpha2.LinodeMachine {
364
+ ObjectMeta : metav1.ObjectMeta {
365
+ Name : "test-machine" ,
366
+ Namespace : defaultNamespace ,
367
+ },
368
+ Spec : infrav1alpha2.LinodeMachineSpec {
369
+ ProviderID : ptr .To ("linode://123" ),
370
+ },
371
+ Status : infrav1alpha2.LinodeMachineStatus {
372
+ Addresses : []clusterv1.MachineAddress {},
373
+ },
374
+ }
375
+
363
376
ctlrSuite := NewControllerSuite (
364
377
GinkgoT (),
365
378
mock.MockLinodeClient {},
@@ -383,6 +396,11 @@ var _ = Describe("cluster-delete", Ordered, Label("cluster", "cluster-delete"),
383
396
cScope .Client = mck .K8sClient
384
397
mck .LinodeClient .EXPECT ().DeleteNodeBalancer (gomock .Any (), gomock .Any ()).Return (nil ).AnyTimes ()
385
398
}),
399
+ Result ("cluster deleted" , func (ctx context.Context , mck Mock ) {
400
+ reconciler .Client = mck .K8sClient
401
+ err := reconciler .reconcileDelete (ctx , logr.Logger {}, cScope )
402
+ Expect (err ).NotTo (HaveOccurred ())
403
+ }),
386
404
),
387
405
Path (
388
406
Call ("nothing to do because NB ID is nil" , func (ctx context.Context , mck Mock ) {
@@ -411,12 +429,40 @@ var _ = Describe("cluster-delete", Ordered, Label("cluster", "cluster-delete"),
411
429
Expect (err .Error ()).To (ContainSubstring ("delete NB error" ))
412
430
}),
413
431
),
432
+ Path (
433
+ Call ("cluster not deleted because some LinodeMachines are yet to be deleted and NB present" , func (ctx context.Context , mck Mock ) {
434
+ cScope .LinodeClient = mck .LinodeClient
435
+ cScope .Client = mck .K8sClient
436
+ cScope .LinodeCluster .Spec .Network .NodeBalancerID = & nodebalancerID
437
+ mck .LinodeClient .EXPECT ().DeleteNodeBalancer (gomock .Any (), gomock .Any ()).Return (nil ).AnyTimes ()
438
+ cScope .LinodeMachines = infrav1alpha2.LinodeMachineList {
439
+ Items : []infrav1alpha2.LinodeMachine {linodeMachine },
440
+ }
441
+ }),
442
+ Result ("cluster not deleted because some LinodeMachines are yet to be deleted and NB present" , func (ctx context.Context , mck Mock ) {
443
+ reconciler .Client = mck .K8sClient
444
+ err := reconciler .reconcileDelete (ctx , logr.Logger {}, cScope )
445
+ Expect (err ).To (HaveOccurred ())
446
+ Expect (err .Error ()).To (ContainSubstring ("Waiting for associated LinodeMachine objects to be deleted" ))
447
+ }),
448
+ ),
449
+ Path (
450
+ Call ("cluster not deleted because some LinodeMachines are yet to be deleted and NB nil" , func (ctx context.Context , mck Mock ) {
451
+ cScope .LinodeClient = mck .LinodeClient
452
+ cScope .Client = mck .K8sClient
453
+ cScope .LinodeCluster .Spec .Network .NodeBalancerID = nil
454
+ cScope .LinodeMachines = infrav1alpha2.LinodeMachineList {
455
+ Items : []infrav1alpha2.LinodeMachine {linodeMachine },
456
+ }
457
+ }),
458
+ Result ("cluster not deleted because some LinodeMachines are yet to be deleted and NB nil" , func (ctx context.Context , mck Mock ) {
459
+ reconciler .Client = mck .K8sClient
460
+ err := reconciler .reconcileDelete (ctx , logr.Logger {}, cScope )
461
+ Expect (err ).To (HaveOccurred ())
462
+ Expect (err .Error ()).To (ContainSubstring ("Waiting for associated LinodeMachine objects to be deleted" ))
463
+ }),
464
+ ),
414
465
),
415
- Result ("cluster deleted" , func (ctx context.Context , mck Mock ) {
416
- reconciler .Client = mck .K8sClient
417
- err := reconciler .reconcileDelete (ctx , logr.Logger {}, cScope )
418
- Expect (err ).NotTo (HaveOccurred ())
419
- }),
420
466
)
421
467
})
422
468
0 commit comments