Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .bingo/go.mod
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.

go 1.24.13
47 changes: 13 additions & 34 deletions test/e2e/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -435,34 +435,19 @@ var _ = Describe("ARO Operator - MUO Deployment", func() {
managedUpgradeOperatorDeployment = "managed-upgrade-operator"
)

waitForMUODeploymentReady := func(ctx context.Context) {
Eventually(func(g Gomega, ctx context.Context) {
d, err := clients.Kubernetes.AppsV1().Deployments(managedUpgradeOperatorNamespace).Get(ctx, managedUpgradeOperatorDeployment, metav1.GetOptions{})
g.Expect(err).NotTo(HaveOccurred())
g.Expect(ready.DeploymentIsReady(d)).To(BeTrue(), "expected MUO deployment to be ready")
}).WithContext(ctx).WithTimeout(DefaultEventuallyTimeout).Should(Succeed())
}

It("must be restored if deleted", func(ctx context.Context) {
instance, err := clients.AROClusters.AroV1alpha1().Clusters().Get(ctx, "cluster", metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred())

if !instance.Spec.OperatorFlags.GetSimpleBoolean(operator.MuoEnabled) ||
!instance.Spec.OperatorFlags.GetSimpleBoolean(operator.MuoManaged) {
Skip("Managed Upgrade Operator controller is not enabled and managed, skipping test")
}

deleteFunc := clients.Kubernetes.AppsV1().Deployments(managedUpgradeOperatorNamespace).Delete
getFunc := clients.Kubernetes.AppsV1().Deployments(managedUpgradeOperatorNamespace).Get

By("waiting for the MUO deployment to be ready")
waitForMUODeploymentReady(ctx)
GetK8sObjectWithRetry(ctx, getFunc, managedUpgradeOperatorDeployment, metav1.GetOptions{})

By("deleting the MUO deployment")
DeleteK8sObjectWithRetry(ctx, deleteFunc, managedUpgradeOperatorDeployment, metav1.DeleteOptions{})

By("waiting for the MUO deployment to be reconciled and ready")
waitForMUODeploymentReady(ctx)
})
By("waiting for the MUO deployment to be reconciled")
GetK8sObjectWithRetry(ctx, getFunc, managedUpgradeOperatorDeployment, metav1.GetOptions{})
}, SpecTimeout(3*time.Minute))
})

var _ = Describe("ARO Operator - ImageConfig Reconciler", func() {
Expand Down Expand Up @@ -745,14 +730,6 @@ var _ = Describe("ARO Operator - Guardrails", func() {
gkAuditDeployment = "gatekeeper-audit"
)

waitForGatekeeperDeploymentReady := func(ctx context.Context, deploymentName string) {
Eventually(func(g Gomega, ctx context.Context) {
d, err := clients.Kubernetes.AppsV1().Deployments(guardrailsNamespace).Get(ctx, deploymentName, metav1.GetOptions{})
g.Expect(err).NotTo(HaveOccurred())
g.Expect(ready.DeploymentIsReady(d)).To(BeTrue(), "expected %q deployment to be ready", deploymentName)
}).WithContext(ctx).WithTimeout(DefaultEventuallyTimeout).Should(Succeed())
}

It("Controller Manager must be restored if deleted", func(ctx context.Context) {
instance, err := clients.AROClusters.AroV1alpha1().Clusters().Get(ctx, "cluster", metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred())
Expand All @@ -762,16 +739,17 @@ var _ = Describe("ARO Operator - Guardrails", func() {
Skip("Guardrails Controller is not enabled, skipping test")
}

getFunc := clients.Kubernetes.AppsV1().Deployments(guardrailsNamespace).Get
deleteFunc := clients.Kubernetes.AppsV1().Deployments(guardrailsNamespace).Delete

By("waiting for the gatekeeper Controller Manager deployment to be ready")
waitForGatekeeperDeploymentReady(ctx, gkControllerManagerDeployment)
GetK8sObjectWithRetry(ctx, getFunc, gkControllerManagerDeployment, metav1.GetOptions{})

By("deleting the gatekeeper Controller Manager deployment")
DeleteK8sObjectWithRetry(ctx, deleteFunc, gkControllerManagerDeployment, metav1.DeleteOptions{})

By("waiting for the gatekeeper Controller Manager deployment to be reconciled and ready")
waitForGatekeeperDeploymentReady(ctx, gkControllerManagerDeployment)
By("waiting for the gatekeeper Controller Manager deployment to be reconciled")
GetK8sObjectWithRetry(ctx, getFunc, gkControllerManagerDeployment, metav1.GetOptions{})
})

It("Audit must be restored if deleted", func(ctx context.Context) {
Expand All @@ -783,16 +761,17 @@ var _ = Describe("ARO Operator - Guardrails", func() {
Skip("Guardrails Controller is not enabled, skipping test")
}

getFunc := clients.Kubernetes.AppsV1().Deployments(guardrailsNamespace).Get
deleteFunc := clients.Kubernetes.AppsV1().Deployments(guardrailsNamespace).Delete

By("waiting for the gatekeeper Audit deployment to be ready")
waitForGatekeeperDeploymentReady(ctx, gkAuditDeployment)
GetK8sObjectWithRetry(ctx, getFunc, gkAuditDeployment, metav1.GetOptions{})

By("deleting the gatekeeper Audit deployment")
DeleteK8sObjectWithRetry(ctx, deleteFunc, gkAuditDeployment, metav1.DeleteOptions{})

By("waiting for the gatekeeper Audit deployment to be reconciled and ready")
waitForGatekeeperDeploymentReady(ctx, gkAuditDeployment)
By("waiting for the gatekeeper Audit deployment to be reconciled")
GetK8sObjectWithRetry(ctx, getFunc, gkAuditDeployment, metav1.GetOptions{})
})
})

Expand Down