From 3be0c9aed2d2dd8bdf52e9aa1e5820d744586068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Tue, 4 May 2021 15:47:58 +0200 Subject: [PATCH] chore: initialise timeout factor next to the declaration (#1118) * chore: initialise timeout factor on its own package * chore: reuse timeout factor from common --- e2e/_suites/fleet/ingest_manager_test.go | 1 - e2e/_suites/helm/helm_charts_test.go | 7 +------ .../kubernetes-autodiscover/autodiscover_test.go | 11 +++-------- internal/common/retry.go | 5 +++++ 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/e2e/_suites/fleet/ingest_manager_test.go b/e2e/_suites/fleet/ingest_manager_test.go index d7e26959fb..a69080ad03 100644 --- a/e2e/_suites/fleet/ingest_manager_test.go +++ b/e2e/_suites/fleet/ingest_manager_test.go @@ -49,7 +49,6 @@ func setUpSuite() { } common.AgentVersionBase = v - common.TimeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", common.TimeoutFactor) common.AgentVersion = shell.GetEnv("BEAT_VERSION", common.AgentVersionBase) // check if version is an alias diff --git a/e2e/_suites/helm/helm_charts_test.go b/e2e/_suites/helm/helm_charts_test.go index de59e8f242..05ebbb1ace 100644 --- a/e2e/_suites/helm/helm_charts_test.go +++ b/e2e/_suites/helm/helm_charts_test.go @@ -37,10 +37,6 @@ var elasticAPMActive = false var helmManager helm.Manager -// timeoutFactor a multiplier for the max timeout when doing backoff retries. -// It can be overriden by TIMEOUT_FACTOR env var -var timeoutFactor = 2 - //nolint:unused var kubectlClient kubectl.Kubectl @@ -80,7 +76,6 @@ func setupSuite() { helmVersion = shell.GetEnv("HELM_VERSION", helmVersion) helmChartVersion = shell.GetEnv("HELM_CHART_VERSION", helmChartVersion) kubernetesVersion = shell.GetEnv("KUBERNETES_VERSION", kubernetesVersion) - timeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", timeoutFactor) stackVersion = shell.GetEnv("STACK_VERSION", stackVersion) v, err := utils.GetElasticArtifactVersion(stackVersion) @@ -187,7 +182,7 @@ func (ts *HelmChartTestSuite) aResourceWillExposePods(resourceType string) error return err } - maxTimeout := time.Duration(timeoutFactor) * time.Minute + maxTimeout := time.Duration(common.TimeoutFactor) * time.Minute exp := common.GetExponentialBackOff(maxTimeout) retryCount := 1 diff --git a/e2e/_suites/kubernetes-autodiscover/autodiscover_test.go b/e2e/_suites/kubernetes-autodiscover/autodiscover_test.go index 00752381f4..d420ce160d 100644 --- a/e2e/_suites/kubernetes-autodiscover/autodiscover_test.go +++ b/e2e/_suites/kubernetes-autodiscover/autodiscover_test.go @@ -37,14 +37,6 @@ const defaultBeatVersion = "7.13.0-SNAPSHOT" var defaultEventsWaitTimeout = 60 * time.Second var defaultDeployWaitTimeout = 60 * time.Second -func init() { - // initialise timeout factor - common.TimeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", common.TimeoutFactor) - - defaultEventsWaitTimeout = defaultEventsWaitTimeout * time.Duration(common.TimeoutFactor) - defaultDeployWaitTimeout = defaultDeployWaitTimeout * time.Duration(common.TimeoutFactor) -} - type podsManager struct { kubectl kubernetes.Control ctx context.Context @@ -472,6 +464,9 @@ func InitializeTestSuite(ctx *godog.TestSuiteContext) { // init logger config.Init() + defaultEventsWaitTimeout = defaultEventsWaitTimeout * time.Duration(common.TimeoutFactor) + defaultDeployWaitTimeout = defaultDeployWaitTimeout * time.Duration(common.TimeoutFactor) + err := cluster.Initialize(suiteContext, "testdata/kind.yml") if err != nil { log.WithError(err).Fatal("Failed to initialize cluster") diff --git a/internal/common/retry.go b/internal/common/retry.go index fa38cb95a1..2c221bd61f 100644 --- a/internal/common/retry.go +++ b/internal/common/retry.go @@ -8,12 +8,17 @@ import ( "time" backoff "github.com/cenkalti/backoff/v4" + "github.com/elastic/e2e-testing/internal/shell" ) // TimeoutFactor a multiplier for the max timeout when doing backoff retries. // It can be overriden by TIMEOUT_FACTOR env var var TimeoutFactor = 3 +func init() { + TimeoutFactor = shell.GetEnvInteger("TIMEOUT_FACTOR", TimeoutFactor) +} + // GetExponentialBackOff returns a preconfigured exponential backoff instance func GetExponentialBackOff(elapsedTime time.Duration) *backoff.ExponentialBackOff { var (