@@ -435,19 +435,34 @@ var _ = Describe("ARO Operator - MUO Deployment", func() {
435435 managedUpgradeOperatorDeployment = "managed-upgrade-operator"
436436 )
437437
438+ waitForMUODeploymentReady := func (ctx context.Context ) {
439+ Eventually (func (g Gomega , ctx context.Context ) {
440+ d , err := clients .Kubernetes .AppsV1 ().Deployments (managedUpgradeOperatorNamespace ).Get (ctx , managedUpgradeOperatorDeployment , metav1.GetOptions {})
441+ g .Expect (err ).NotTo (HaveOccurred ())
442+ g .Expect (ready .DeploymentIsReady (d )).To (BeTrue (), "expected MUO deployment to be ready" )
443+ }).WithContext (ctx ).WithTimeout (DefaultEventuallyTimeout ).Should (Succeed ())
444+ }
445+
438446 It ("must be restored if deleted" , func (ctx context.Context ) {
447+ instance , err := clients .AROClusters .AroV1alpha1 ().Clusters ().Get (ctx , "cluster" , metav1.GetOptions {})
448+ Expect (err ).NotTo (HaveOccurred ())
449+
450+ if ! instance .Spec .OperatorFlags .GetSimpleBoolean (operator .MuoEnabled ) ||
451+ ! instance .Spec .OperatorFlags .GetSimpleBoolean (operator .MuoManaged ) {
452+ Skip ("Managed Upgrade Operator controller is not enabled and managed, skipping test" )
453+ }
454+
439455 deleteFunc := clients .Kubernetes .AppsV1 ().Deployments (managedUpgradeOperatorNamespace ).Delete
440- getFunc := clients .Kubernetes .AppsV1 ().Deployments (managedUpgradeOperatorNamespace ).Get
441456
442457 By ("waiting for the MUO deployment to be ready" )
443- GetK8sObjectWithRetry (ctx , getFunc , managedUpgradeOperatorDeployment , metav1. GetOptions {} )
458+ waitForMUODeploymentReady (ctx )
444459
445460 By ("deleting the MUO deployment" )
446461 DeleteK8sObjectWithRetry (ctx , deleteFunc , managedUpgradeOperatorDeployment , metav1.DeleteOptions {})
447462
448- By ("waiting for the MUO deployment to be reconciled" )
449- GetK8sObjectWithRetry (ctx , getFunc , managedUpgradeOperatorDeployment , metav1. GetOptions {} )
450- }, SpecTimeout ( 2 * time . Minute ) )
463+ By ("waiting for the MUO deployment to be reconciled and ready " )
464+ waitForMUODeploymentReady (ctx )
465+ })
451466})
452467
453468var _ = Describe ("ARO Operator - ImageConfig Reconciler" , func () {
@@ -730,6 +745,14 @@ var _ = Describe("ARO Operator - Guardrails", func() {
730745 gkAuditDeployment = "gatekeeper-audit"
731746 )
732747
748+ waitForGatekeeperDeploymentReady := func (ctx context.Context , deploymentName string ) {
749+ Eventually (func (g Gomega , ctx context.Context ) {
750+ d , err := clients .Kubernetes .AppsV1 ().Deployments (guardrailsNamespace ).Get (ctx , deploymentName , metav1.GetOptions {})
751+ g .Expect (err ).NotTo (HaveOccurred ())
752+ g .Expect (ready .DeploymentIsReady (d )).To (BeTrue (), "expected %q deployment to be ready" , deploymentName )
753+ }).WithContext (ctx ).WithTimeout (DefaultEventuallyTimeout ).Should (Succeed ())
754+ }
755+
733756 It ("Controller Manager must be restored if deleted" , func (ctx context.Context ) {
734757 instance , err := clients .AROClusters .AroV1alpha1 ().Clusters ().Get (ctx , "cluster" , metav1.GetOptions {})
735758 Expect (err ).NotTo (HaveOccurred ())
@@ -739,17 +762,16 @@ var _ = Describe("ARO Operator - Guardrails", func() {
739762 Skip ("Guardrails Controller is not enabled, skipping test" )
740763 }
741764
742- getFunc := clients .Kubernetes .AppsV1 ().Deployments (guardrailsNamespace ).Get
743765 deleteFunc := clients .Kubernetes .AppsV1 ().Deployments (guardrailsNamespace ).Delete
744766
745767 By ("waiting for the gatekeeper Controller Manager deployment to be ready" )
746- GetK8sObjectWithRetry (ctx , getFunc , gkControllerManagerDeployment , metav1. GetOptions {} )
768+ waitForGatekeeperDeploymentReady (ctx , gkControllerManagerDeployment )
747769
748770 By ("deleting the gatekeeper Controller Manager deployment" )
749771 DeleteK8sObjectWithRetry (ctx , deleteFunc , gkControllerManagerDeployment , metav1.DeleteOptions {})
750772
751- By ("waiting for the gatekeeper Controller Manager deployment to be reconciled" )
752- GetK8sObjectWithRetry (ctx , getFunc , gkControllerManagerDeployment , metav1. GetOptions {} )
773+ By ("waiting for the gatekeeper Controller Manager deployment to be reconciled and ready " )
774+ waitForGatekeeperDeploymentReady (ctx , gkControllerManagerDeployment )
753775 })
754776
755777 It ("Audit must be restored if deleted" , func (ctx context.Context ) {
@@ -761,17 +783,16 @@ var _ = Describe("ARO Operator - Guardrails", func() {
761783 Skip ("Guardrails Controller is not enabled, skipping test" )
762784 }
763785
764- getFunc := clients .Kubernetes .AppsV1 ().Deployments (guardrailsNamespace ).Get
765786 deleteFunc := clients .Kubernetes .AppsV1 ().Deployments (guardrailsNamespace ).Delete
766787
767788 By ("waiting for the gatekeeper Audit deployment to be ready" )
768- GetK8sObjectWithRetry (ctx , getFunc , gkAuditDeployment , metav1. GetOptions {} )
789+ waitForGatekeeperDeploymentReady (ctx , gkAuditDeployment )
769790
770791 By ("deleting the gatekeeper Audit deployment" )
771792 DeleteK8sObjectWithRetry (ctx , deleteFunc , gkAuditDeployment , metav1.DeleteOptions {})
772793
773- By ("waiting for the gatekeeper Audit deployment to be reconciled" )
774- GetK8sObjectWithRetry (ctx , getFunc , gkAuditDeployment , metav1. GetOptions {} )
794+ By ("waiting for the gatekeeper Audit deployment to be reconciled and ready " )
795+ waitForGatekeeperDeploymentReady (ctx , gkAuditDeployment )
775796 })
776797})
777798
0 commit comments