@@ -81,6 +81,7 @@ var _ = Describe("OpenshiftAssistedControlPlane Controller", func() {
81
81
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil ).AnyTimes ()
82
82
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return ("4.18.0" , nil ).AnyTimes ()
83
83
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), gomock .Any ()).Return (true , nil ).AnyTimes ()
84
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("" , nil ).AnyTimes ()
84
85
85
86
mockUpgradeFactory = upgrade .NewMockClusterUpgradeFactory (ctrl )
86
87
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil ).AnyTimes ()
@@ -384,6 +385,7 @@ var _ = Describe("Upgrade scenarios", func() {
384
385
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
385
386
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil )
386
387
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return (currentVersion , nil )
388
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("" , nil )
387
389
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (false , nil )
388
390
mockUpgrader .EXPECT ().UpdateClusterVersionDesiredUpdate (gomock .Any (), desiredVersion , gomock .Any (), gomock .Any ()).Return (nil )
389
391
@@ -403,6 +405,7 @@ var _ = Describe("Upgrade scenarios", func() {
403
405
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
404
406
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (true , nil )
405
407
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return (currentVersion , nil )
408
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("upgrading cluster" , nil )
406
409
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (true , nil )
407
410
conditions .MarkFalse (openshiftAssistedControlPlane , controlplanev1alpha2 .UpgradeCompletedCondition , controlplanev1alpha2 .UpgradeInProgressReason , clusterv1 .ConditionSeverityInfo , "upgrade in progress" )
408
411
@@ -417,12 +420,14 @@ var _ = Describe("Upgrade scenarios", func() {
417
420
Expect (condition ).NotTo (BeNil ())
418
421
Expect (condition .Status ).To (Equal (corev1 .ConditionFalse ))
419
422
Expect (condition .Reason ).To (Equal (controlplanev1alpha2 .UpgradeInProgressReason ))
423
+ Expect (condition .Message ).To (Equal ("upgrade to version 4.15.0 in progress\n upgrading cluster" ))
420
424
})
421
425
422
426
It ("should handle completed upgrade" , func () {
423
427
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
424
428
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil )
425
429
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return (desiredVersion , nil )
430
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("" , nil )
426
431
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (true , nil )
427
432
428
433
// Make sure upgrade is in progress: once we reconcile it should be marked as complete
@@ -453,6 +458,7 @@ var _ = Describe("Upgrade scenarios", func() {
453
458
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
454
459
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil )
455
460
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return (currentVersion , nil )
461
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("failed to upgrade" , nil )
456
462
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (false , nil )
457
463
mockUpgrader .EXPECT ().UpdateClusterVersionDesiredUpdate (gomock .Any (), desiredVersion , gomock .Any (), gomock .Any ()).Return (expectedError )
458
464
@@ -469,17 +475,22 @@ var _ = Describe("Upgrade scenarios", func() {
469
475
Expect (err ).To (HaveOccurred ())
470
476
Expect (err ).To (Equal (expectedError ))
471
477
472
- // Upgrade is in progres: spec.distributionVersion is 4.15 and status.distributionVersion is 4.14
478
+ err = k8sClient .Get (ctx , typeNamespacedName , openshiftAssistedControlPlane )
479
+ Expect (err ).NotTo (HaveOccurred ())
480
+ // Upgrade is in progress but failed: spec.distributionVersion is 4.15 and status.distributionVersion is 4.14
473
481
condition := conditions .Get (openshiftAssistedControlPlane , controlplanev1alpha2 .UpgradeCompletedCondition )
474
482
Expect (condition ).NotTo (BeNil ())
475
483
Expect (condition .Status ).To (Equal (corev1 .ConditionFalse ))
484
+ Expect (condition .Reason ).To (Equal (controlplanev1alpha2 .UpgradeFailedReason ))
485
+ Expect (condition .Message ).To (Equal ("upgrade to version 4.15.0 has failed\n failed to upgrade" ))
476
486
})
477
487
478
488
It ("should handle errors getting current version" , func () {
479
489
expectedError := fmt .Errorf ("failed to get version" )
480
490
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
481
491
mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil )
482
492
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return ("" , expectedError )
493
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("failed to upgrade" , nil )
483
494
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (true , nil )
484
495
mockUpgrader .EXPECT ().UpdateClusterVersionDesiredUpdate (ctx , desiredVersion , gomock .Any (), gomock .Any ()).Return (nil )
485
496
@@ -494,8 +505,8 @@ var _ = Describe("Upgrade scenarios", func() {
494
505
condition := conditions .Get (openshiftAssistedControlPlane , controlplanev1alpha2 .UpgradeCompletedCondition )
495
506
Expect (condition ).NotTo (BeNil ())
496
507
Expect (condition .Status ).To (Equal (corev1 .ConditionFalse ))
497
- Expect (condition .Reason ).To (Equal (controlplanev1alpha2 .UpgradeInProgressReason ))
498
- Expect (condition .Message ).To (Equal ("upgrade to version 4.15.0 in progress " ))
508
+ Expect (condition .Reason ).To (Equal (controlplanev1alpha2 .UpgradeFailedReason ))
509
+ Expect (condition .Message ).To (Equal ("upgrade to version 4.15.0 has failed \n failed to upgrade " ))
499
510
})
500
511
501
512
It ("should handle upgrade with repository override" , func () {
@@ -506,8 +517,9 @@ var _ = Describe("Upgrade scenarios", func() {
506
517
Expect (k8sClient .Update (ctx , openshiftAssistedControlPlane )).To (Succeed ())
507
518
508
519
mockUpgradeFactory .EXPECT ().NewUpgrader (gomock .Any ()).Return (mockUpgrader , nil )
509
- mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (false , nil )
520
+ mockUpgrader .EXPECT ().IsUpgradeInProgress (gomock .Any ()).Return (true , nil ) // should this be successfully starting upgrade?
510
521
mockUpgrader .EXPECT ().GetCurrentVersion (gomock .Any ()).Return (currentVersion , nil )
522
+ mockUpgrader .EXPECT ().GetUpgradeStatus (gomock .Any ()).Return ("" , nil )
511
523
mockUpgrader .EXPECT ().IsDesiredVersionUpdated (gomock .Any (), desiredVersion ).Return (false , nil )
512
524
expectedParams := []upgrade.ClusterUpgradeOption {
513
525
{Name : upgrade .ReleaseImagePullSecretOption , Value : "{\" auths\" :{\" fake-pull-secret\" :{\" auth\" :\" cGxhY2Vob2xkZXI6c2VjcmV0Cg==\" }}}" },
@@ -528,6 +540,7 @@ var _ = Describe("Upgrade scenarios", func() {
528
540
condition := conditions .Get (openshiftAssistedControlPlane , controlplanev1alpha2 .UpgradeCompletedCondition )
529
541
Expect (condition ).NotTo (BeNil ())
530
542
Expect (condition .Status ).To (Equal (corev1 .ConditionFalse ))
543
+ Expect (condition .Message ).To (Equal ("upgrade to version 4.15.0 in progress\n " ))
531
544
})
532
545
})
533
546
0 commit comments