From 632cf88ae58ce471d873b91e176404383810faf7 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Thu, 11 Sep 2025 10:23:51 +0200 Subject: [PATCH 1/3] [CI] Add retry to test serverless pipeline --- .buildkite/pipeline.serverless.yml | 4 ++++ .buildkite/scripts/test_packages_with_serverless.sh | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline.serverless.yml b/.buildkite/pipeline.serverless.yml index 39f945036..de100eade 100644 --- a/.buildkite/pipeline.serverless.yml +++ b/.buildkite/pipeline.serverless.yml @@ -44,6 +44,10 @@ steps: agents: provider: "gcp" image: "${UBUNTU_X86_64_AGENT_IMAGE}" + retry: + automatic: + - exit_status: 10 + limit: 2 env: SERVERLESS: "true" SERVERLESS_PROJECT: "${SERVERLESS_PROJECT:-observability}" diff --git a/.buildkite/scripts/test_packages_with_serverless.sh b/.buildkite/scripts/test_packages_with_serverless.sh index 26d7ceafe..17523cf38 100755 --- a/.buildkite/scripts/test_packages_with_serverless.sh +++ b/.buildkite/scripts/test_packages_with_serverless.sh @@ -51,7 +51,9 @@ echo "--- Install elastic-package" # Required to start the Serverless Elastic stack make install -prepare_serverless_stack +if ! prepare_serverless_stack ; then + exit 10 +fi echo "Waiting time to avoid getaddrinfo ENOTFOUND errors if any..." sleep 120 From 2d780a8bf5335397e85b1ad6c508a0be188453a7 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Thu, 11 Sep 2025 18:30:46 +0200 Subject: [PATCH 2/3] Add retry loop --- .buildkite/pipeline.serverless.yml | 4 --- .../scripts/test_packages_with_serverless.sh | 4 +-- .buildkite/scripts/tooling.sh | 25 +++++++++++++++---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.buildkite/pipeline.serverless.yml b/.buildkite/pipeline.serverless.yml index de100eade..39f945036 100644 --- a/.buildkite/pipeline.serverless.yml +++ b/.buildkite/pipeline.serverless.yml @@ -44,10 +44,6 @@ steps: agents: provider: "gcp" image: "${UBUNTU_X86_64_AGENT_IMAGE}" - retry: - automatic: - - exit_status: 10 - limit: 2 env: SERVERLESS: "true" SERVERLESS_PROJECT: "${SERVERLESS_PROJECT:-observability}" diff --git a/.buildkite/scripts/test_packages_with_serverless.sh b/.buildkite/scripts/test_packages_with_serverless.sh index 17523cf38..26d7ceafe 100755 --- a/.buildkite/scripts/test_packages_with_serverless.sh +++ b/.buildkite/scripts/test_packages_with_serverless.sh @@ -51,9 +51,7 @@ echo "--- Install elastic-package" # Required to start the Serverless Elastic stack make install -if ! prepare_serverless_stack ; then - exit 10 -fi +prepare_serverless_stack echo "Waiting time to avoid getaddrinfo ENOTFOUND errors if any..." sleep 120 diff --git a/.buildkite/scripts/tooling.sh b/.buildkite/scripts/tooling.sh index 2b13975b9..06c50e823 100755 --- a/.buildkite/scripts/tooling.sh +++ b/.buildkite/scripts/tooling.sh @@ -84,11 +84,26 @@ prepare_serverless_stack() { fi # grep command required to remove password from the output - if ! elastic-package stack up \ - -d \ - ${args} \ - --provider serverless \ - -U "stack.serverless.region=${EC_REGION_SECRET},stack.serverless.type=${SERVERLESS_PROJECT}" 2>&1 | grep -E -v "^Password: " ; then + local failed=1 + local max_iter=3 + for iter in $(seq 1 "${max_iter}") ; do + echo "Trying to start serverless project (${iter}/${max_iter})..." + if ! elastic-package stack up \ + -d \ + ${args} \ + --provider serverless \ + -U "stack.serverless.region=${EC_REGION_SECRET},stack.serverless.type=${SERVERLESS_PROJECT}" 2>&1 | grep -E -v "^Password: " ; then + + echo "Failed to start Elastic stack with Serverless provider" + elastic-package stack down + sleep 10 + else + echo "Elastic stack with Serverless provider started" + failed=0 + break + fi + done + if [[ "$failed" == 1 ]]; then return 1 fi echo "" From bc7b89b5f60a96f74e649e779230725c9bca2934 Mon Sep 17 00:00:00 2001 From: Mario Rodriguez Molins Date: Thu, 11 Sep 2025 19:34:02 +0200 Subject: [PATCH 3/3] Ignore errors in elastic-package stack down --- .buildkite/scripts/tooling.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.buildkite/scripts/tooling.sh b/.buildkite/scripts/tooling.sh index 06c50e823..7fe5fdbb7 100755 --- a/.buildkite/scripts/tooling.sh +++ b/.buildkite/scripts/tooling.sh @@ -95,7 +95,9 @@ prepare_serverless_stack() { -U "stack.serverless.region=${EC_REGION_SECRET},stack.serverless.type=${SERVERLESS_PROJECT}" 2>&1 | grep -E -v "^Password: " ; then echo "Failed to start Elastic stack with Serverless provider" - elastic-package stack down + # This command could fail since the docker-compose project could not be initialized + # or even when deleting the Serverless project + elastic-package stack down || true sleep 10 else echo "Elastic stack with Serverless provider started"