From 6eb0e44b33890a1b94b991cdabf8fed0b8190526 Mon Sep 17 00:00:00 2001 From: s3rj1k Date: Tue, 5 Nov 2024 21:36:56 +0000 Subject: [PATCH] Make EKS e2e less flaky. --- test/e2e/data/e2e_eks_conf.yaml | 2 +- test/e2e/shared/suite.go | 2 +- test/e2e/suites/managed/eks_test.go | 26 +++++++++++++++++--------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/test/e2e/data/e2e_eks_conf.yaml b/test/e2e/data/e2e_eks_conf.yaml index 44d486f6a5..ff7d19cd5d 100644 --- a/test/e2e/data/e2e_eks_conf.yaml +++ b/test/e2e/data/e2e_eks_conf.yaml @@ -149,7 +149,7 @@ intervals: default/wait-machine-status: ["20m", "10s"] default/wait-infra-subnets: ["5m", "30s"] default/wait-control-plane-upgrade: ["35m", "30s"] - default/wait-addon-status: ["10m", "30s"] + default/wait-addon-status: ["15m", "30s"] default/wait-create-identity: ["1m", "10s"] default/wait-deployment-ready: ["5m", "10s"] default/wait-loadbalancer-ready: ["5m", "30s"] diff --git a/test/e2e/shared/suite.go b/test/e2e/shared/suite.go index ed280fe34c..3826b5bd03 100644 --- a/test/e2e/shared/suite.go +++ b/test/e2e/shared/suite.go @@ -145,7 +145,7 @@ func Node1BeforeSuite(e2eCtx *E2EContext) []byte { success = false } return success - }, 10*time.Minute, 5*time.Second).Should(BeTrue(), "Should've eventually succeeded creating an AWS CloudFormation stack") + }, 30*time.Minute, 5*time.Second).Should(BeTrue(), "Should've eventually succeeded creating an AWS CloudFormation stack") } ensureStackTags(e2eCtx.AWSSession, bootstrapTemplate.Spec.StackName, bootstrapTags) diff --git a/test/e2e/suites/managed/eks_test.go b/test/e2e/suites/managed/eks_test.go index ec2b08d343..39a1eaa150 100644 --- a/test/e2e/suites/managed/eks_test.go +++ b/test/e2e/suites/managed/eks_test.go @@ -22,6 +22,7 @@ package managed import ( "context" "fmt" + "time" "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -76,15 +77,22 @@ var _ = ginkgo.Describe("[managed] [general] EKS cluster tests", func() { }) ginkgo.By("should set environment variables on the aws-node daemonset") - CheckAwsNodeEnvVarsSet(ctx, func() UpdateAwsNodeVersionSpecInput { - return UpdateAwsNodeVersionSpecInput{ - E2EConfig: e2eCtx.E2EConfig, - BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy, - AWSSession: e2eCtx.BootstrapUserAWSSession, - Namespace: namespace, - ClusterName: clusterName, - } - }) + Eventually(func() error { + defer ginkgo.GinkgoRecover() + CheckAwsNodeEnvVarsSet(ctx, func() UpdateAwsNodeVersionSpecInput { + return UpdateAwsNodeVersionSpecInput{ + E2EConfig: e2eCtx.E2EConfig, + BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy, + AWSSession: e2eCtx.BootstrapUserAWSSession, + Namespace: namespace, + ClusterName: clusterName, + } + }) + return nil + }).WithTimeout(5*time.Minute).WithPolling(10*time.Second).WithContext(ctx).Should( + Succeed(), + "Failed to verify AWS Node environment variables after 5 minutes of retries", + ) ginkgo.By("should have the VPC CNI installed") CheckAddonExistsSpec(ctx, func() CheckAddonExistsSpecInput {