Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ess terraform + run integration tests on BK agents #5113

Merged
merged 123 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from 117 commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
6f538df
ESS by terraforms
pazone Jul 5, 2024
03a4cef
Use bk runners
pazone Jul 10, 2024
44bff94
added state to artifacts
pazone Jul 10, 2024
e80884b
Add common.sh to scripts
pazone Jul 10, 2024
d438c5b
Add depends_on
pazone Jul 10, 2024
a72f93c
Inlined paclage variables
pazone Jul 10, 2024
77c7946
tmp disbale unit tests
pazone Jul 10, 2024
f194932
tmp disbale unit tests
pazone Jul 10, 2024
3c9b37c
install tf
pazone Jul 10, 2024
37ac771
install tf
pazone Jul 11, 2024
8d52711
install tf
pazone Jul 11, 2024
5a6a00c
install tf
pazone Jul 11, 2024
bda90aa
fix ec creds
pazone Jul 11, 2024
1078f3c
Added auto-approve
pazone Jul 16, 2024
607fc55
Merged
pazone Jul 16, 2024
4901bef
Test run
pazone Jul 16, 2024
e31792b
package again
pazone Jul 16, 2024
a0a3f38
package again
pazone Jul 16, 2024
b141cb9
package again
pazone Jul 16, 2024
4f16839
package again
pazone Jul 16, 2024
dfb893e
package
pazone Jul 16, 2024
72147f3
package
pazone Jul 16, 2024
2e9aede
added mage build:testBinaries
pazone Jul 16, 2024
a34d13b
Install mage
pazone Jul 16, 2024
6197bc4
Install mage
pazone Jul 16, 2024
7133372
Install mage
pazone Jul 16, 2024
797543c
Install mage
pazone Jul 16, 2024
9bc5807
Install mage
pazone Jul 16, 2024
1a54fc9
fix go
pazone Jul 16, 2024
b3b91b2
Merged
pazone Jul 16, 2024
e536069
Merged
pazone Jul 16, 2024
fd28840
Merged
pazone Jul 16, 2024
695fc5e
fix
pazone Jul 16, 2024
48e2e19
fix
pazone Jul 16, 2024
0e3f8e8
Fix tests
pazone Jul 17, 2024
b973d0c
Merged
pazone Jul 17, 2024
c8cf1b5
Debug
pazone Jul 18, 2024
a4e545d
Use custom image
pazone Jul 18, 2024
5adceaa
New suod tests
pazone Jul 23, 2024
5c08854
Merged
pazone Jul 23, 2024
df8b8b1
Test run
pazone Jul 23, 2024
49027d4
Test run
pazone Jul 23, 2024
3e99605
Test run
pazone Jul 23, 2024
a698b11
Debug
pazone Jul 23, 2024
4d2800c
Debug
pazone Jul 23, 2024
c85536b
Debug
pazone Jul 23, 2024
255493a
Debug
pazone Jul 23, 2024
eb580cd
Debug
pazone Jul 24, 2024
08ffd31
Cleanup
pazone Jul 24, 2024
57bf4f2
Using subshell in newgrp
pazone Jul 24, 2024
e4eefa3
Using subshell in newgrp
pazone Jul 24, 2024
32e7f41
Test new custom VM image
pazone Jul 25, 2024
25f8737
Test new custom VM image
pazone Jul 25, 2024
d3d074d
Set terraform version
pazone Jul 25, 2024
1aba538
Cleanup
pazone Jul 25, 2024
98cd872
terraform 1.9.3
pazone Jul 25, 2024
cc411fb
terraform 1.9.3
pazone Jul 25, 2024
be82cb7
Debug
pazone Jul 25, 2024
417338f
Merged
pazone Jul 30, 2024
d425985
Explicit image version
pazone Jul 30, 2024
4f02fc6
Explicit image version
pazone Jul 30, 2024
f2aaa50
Explicit image version
pazone Jul 30, 2024
c4e9e1b
Sudo tests
pazone Jul 31, 2024
38e2b01
+x
pazone Jul 31, 2024
26f9cab
Try mage integration:local
pazone Aug 1, 2024
22e3c1c
Use gotestsum
pazone Aug 8, 2024
21d0fbe
Use gotestsum
pazone Aug 8, 2024
590dea5
Run sudo tests
pazone Aug 12, 2024
ea378d6
Run sudo tests
pazone Aug 12, 2024
d170384
Debug
pazone Aug 12, 2024
17d8509
Debug
pazone Aug 12, 2024
2c46cfa
Debug
pazone Aug 12, 2024
b3043d1
Debug
pazone Aug 12, 2024
3a07eaf
Debug
pazone Aug 12, 2024
a0a1f4a
Debug
pazone Aug 12, 2024
33cdc7b
Debug
pazone Aug 12, 2024
5e03cba
Debug
pazone Aug 12, 2024
27defeb
Increased test timeout
pazone Aug 13, 2024
a8f3133
Groupped sudo tests
pazone Aug 19, 2024
7aa4972
Quoted regexps
pazone Aug 19, 2024
f6c9052
Merge branch 'main' of github.com:elastic/elastic-agent into ess_terr…
pazone Aug 19, 2024
067adcc
BK steps by groups
pazone Aug 19, 2024
6a51105
BK steps by groups
pazone Aug 19, 2024
b9a4c9d
BK steps by groups
pazone Aug 19, 2024
97cad5c
BK steps by groups
pazone Aug 19, 2024
0abd505
fix param propagation
pazone Aug 20, 2024
6242b5c
Debug
pazone Aug 20, 2024
1be05cd
Big run
pazone Aug 20, 2024
cf8a92a
reuse EC_API_KEY
pazone Aug 22, 2024
229f72d
Merged
pazone Aug 22, 2024
4d5fc2f
Debug test
pazone Aug 23, 2024
a5cbcde
Debug a test
pazone Aug 26, 2024
e6ce650
Revert debug
pazone Aug 26, 2024
07925a7
Debug
pazone Aug 26, 2024
a6e701f
Html report
pazone Aug 26, 2024
8b83f07
groupping, auto-retry, packaging
pazone Aug 26, 2024
b58929c
removed reruns
pazone Aug 27, 2024
6e062c7
Reuse the initial ESS stack. Start a new stack for retries
pazone Sep 30, 2024
6d8bfc7
Merged
pazone Sep 30, 2024
f3147dd
MErged
pazone Oct 1, 2024
29e4709
Fix ess start path
pazone Oct 1, 2024
146a178
Fix ess start path
pazone Oct 1, 2024
8f454f4
Fix ess start path
pazone Oct 1, 2024
43f0fd7
Fix ess start path
pazone Oct 1, 2024
13d0977
Debug
pazone Oct 1, 2024
e1ecab7
Debug
pazone Oct 1, 2024
7c00e2e
Debug
pazone Oct 1, 2024
2d28f2f
Fix EC_KEY recovery
pazone Oct 1, 2024
8b4adb1
Added lock to artifacts
pazone Oct 1, 2024
d54c74e
Fix artifacts download path
pazone Oct 1, 2024
06df52c
Fix artifacts download path
pazone Oct 1, 2024
5c821ed
Fix artifacts download path
pazone Oct 1, 2024
0215b8e
Removed unnecessaru build dependencies
pazone Oct 1, 2024
2f793a0
Merged
pazone Oct 7, 2024
5316c9c
Added build id
pazone Oct 7, 2024
a827618
Separated BK integration tests to a dedicated pipeline
pazone Oct 7, 2024
d2d91f6
CLeanup
pazone Oct 7, 2024
bd84042
Applied proposed changes
pazone Oct 7, 2024
ca1275f
Applied proposed changes
pazone Oct 7, 2024
8667929
Applied proposed changes
pazone Oct 7, 2024
ed20fe7
Merge branch 'main' into ess_terraform
pazone Oct 7, 2024
94da6f9
Merged
pazone Oct 7, 2024
5097ddc
Merge branch 'ess_terraform' of github.com:elastic/elastic-agent into…
pazone Oct 7, 2024
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
163 changes: 163 additions & 0 deletions .buildkite/bk.integration.pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json

env:
DOCKER_REGISTRY: "docker.elastic.co"
VAULT_PATH: "kv/ci-shared/observability-ingest/cloud/gcp"
ASDF_MAGE_VERSION: 1.14.0
ASDF_GOLANG_VERSION: 1.22.6
ASDF_TERRAFORM_VERSION: 1.9.3

steps:
# - label: "Integration tests: packaging"
# key: "package-it"
# command: ".buildkite/scripts/steps/integration-package.sh"
# artifact_paths:
# - build/distributions/**
# agents:
# provider: "gcp"
# machineType: "n1-standard-8"
- label: Start ESS stack for integration tests
key: integration-ess
# depends_on:
# - package-it
command: |
#!/usr/bin/env bash
set -euo pipefail
source .buildkite/scripts/steps/ess_start.sh
artifact_paths:
- test_infra/ess/*.tfstate
- test_infra/ess/*.lock.hcl
agents:
pazone marked this conversation as resolved.
Show resolved Hide resolved
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-2"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- group: "Stateful IT (Sudo): Ubuntu"
key: integration-tests
depends_on:
# - package-it
pazone marked this conversation as resolved.
Show resolved Hide resolved
- integration-ess
steps:
- label: "Default"
key: stateful-ubuntu-default-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it' --build 01924359-c420-41d6-ad55-4b4be6ea551e
pazone marked this conversation as resolved.
Show resolved Hide resolved
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "default" "^(TestAPMConfig|TestDiagnosticsOptionalValues|TestIsolatedUnitsDiagnosticsOptionalValues|TestDiagnosticsCommand|TestIsolatedUnitsDiagnosticsCommand|TestEventLogFile|TestFakeComponent|TestFakeIsolatedUnitsComponent|TestOtelFileProcessing|TestOtelLogsIngestion|TestOtelAPMIngestion|TestPackageVersion)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Upgrade"
key: stateful-ubuntu-upgrade-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "upgrade" "^(TestUpgradeBrokenPackageVersion|TestStandaloneUpgradeWithGPGFallback|TestStandaloneUpgradeWithGPGFallbackOneRemoteFailing|TestStandaloneUpgradeRollback|TestStandaloneUpgradeRollbackOnRestarts|TestStandaloneUpgradeFailsWhenUpgradeIsInProgress|TestStandaloneUpgradeRetryDownload|TestStandaloneUpgradeSameCommit|TestStandaloneUpgrade|TestStandaloneUpgradeUninstallKillWatcher)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Fleet"
key: stateful-ubuntu-fleet-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "fleet" "^(TestLongRunningAgentForLeaks|TestDelayEnroll|TestDelayEnrollUnprivileged|TestInstallAndCLIUninstallWithEndpointSecurity|TestInstallAndUnenrollWithEndpointSecurity|TestInstallWithEndpointSecurityAndRemoveEndpointIntegration|TestEndpointSecurityNonDefaultBasePath|TestEndpointSecurityUnprivileged|TestEndpointSecurityCannotSwitchToUnprivileged|TestEndpointLogsAreCollectedInDiagnostics|TestForceInstallOverProtectedPolicy|TestSetLogLevelFleetManaged|TestLogIngestionFleetManaged|TestMetricsMonitoringCorrectBinaries|TestEndpointAgentServiceMonitoring|TestMonitoringPreserveTextConfig|TestMonitoringLivenessReloadable|TestComponentBuildHashInDiagnostics|TestProxyURL|TestFleetManagedUpgradeUnprivileged)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "FQDN"
key: stateful-ubuntu-fqdn-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "fqdn" "^(TestFQDN)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Deb"
key: stateful-ubuntu-deb-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "deb" "^(TestDebLogIngestFleetManaged|TestDebFleetUpgrade)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Fleet Airgapped"
key: stateful-ubuntu-fleet-airgapped-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "fleet-airgapped" "^(TestFleetAirGappedUpgradeUnprivileged)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Fleet Privileged"
key: stateful-ubuntu-fleet-privileged-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "fleet-privileged" "^(TestInstallFleetServerBootstrap|TestFleetManagedUpgradePrivileged)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: "Fleet Airgapped Privileged"
key: stateful-ubuntu-fleet-airgapped-privileged-sudo
command: |
buildkite-agent artifact download build/distributions/** . --step 'package-it'
ls -lah build/distributions/
.buildkite/scripts/steps/integration_tests_tf_sudo.sh "fleet-airgapped-privileged" "^(TestFleetAirGappedUpgradePrivileged)$$"
artifact_paths:
- build/**
agents:
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-8"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"

- label: ESS stack cleanup
depends_on: integration-tests
allow_dependency_failure: true
command: |
buildkite-agent artifact download "test_infra/ess/**" . --step "integration-ess"
ls -lah test_infra/ess
.buildkite/scripts/steps/ess_down.sh
agents:
pazone marked this conversation as resolved.
Show resolved Hide resolved
provider: "gcp"
imageProject: elastic-images-qa
machineType: "n1-standard-2"
image: "family/platform-ingest-elastic-agent-ubuntu-2204"
88 changes: 88 additions & 0 deletions .buildkite/scripts/common2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
#!/bin/bash

set -euo pipefail

source .buildkite/scripts/retry.sh
pazone marked this conversation as resolved.
Show resolved Hide resolved

if [[ -z "${WORKSPACE-""}" ]]; then
WORKSPACE=$(git rev-parse --show-toplevel)
export WORKSPACE
fi
if [[ -z "${SETUP_MAGE_VERSION-""}" ]]; then
SETUP_MAGE_VERSION="1.14.0"
fi
if [[ -z "${SETUP_GVM_VERSION-""}" ]]; then
SETUP_GVM_VERSION="v0.5.0" # https://github.com/andrewkroh/gvm/issues/44#issuecomment-1013231151
pazone marked this conversation as resolved.
Show resolved Hide resolved
fi
BEAT_VERSION=$(grep -oE '[0-9]+\.[0-9]+\.[0-9]+(\-[a-zA-Z]+[0-9]+)?' "${WORKSPACE}/version/version.go")
export BEAT_VERSION

getOSOptions() {
case $(uname | tr '[:upper:]' '[:lower:]') in
linux*)
export AGENT_OS_NAME=linux
;;
darwin*)
export AGENT_OS_NAME=darwin
;;
msys*)
export AGENT_OS_NAME=windows
;;
*)
export AGENT_OS_NAME=notset
;;
esac
case $(uname -m | tr '[:upper:]' '[:lower:]') in
aarch64*)
export AGENT_OS_ARCH=arm64
;;
arm64*)
export AGENT_OS_ARCH=arm64
;;
amd64*)
export AGENT_OS_ARCH=amd64
;;
x86_64*)
export AGENT_OS_ARCH=amd64
;;
*)
export AGENT_OS_ARCH=notset
;;
esac
}

# Wrapper function for executing mage
install_mage() {
go version
if ! [ -x "$(type -P mage | sed 's/mage is //g')" ];
then
echo "installing mage ${SETUP_MAGE_VERSION}"
make mage
fi
pushd "$WORKSPACE"
}

install_go() {
pazone marked this conversation as resolved.
Show resolved Hide resolved
pazone marked this conversation as resolved.
Show resolved Hide resolved
# Search for the go in the Path
if ! [ -x "$(type -P go | sed 's/go is //g')" ];
then
getOSOptions
echo "installing golang "${GO_VERSION}" for "${AGENT_OS_NAME}/${AGENT_OS_ARCH}" "
local _bin="${WORKSPACE}/bin"
mkdir -p "${_bin}"
retry 5 curl -sL -o "${_bin}/gvm" "https://github.com/andrewkroh/gvm/releases/download/${SETUP_GVM_VERSION}/gvm-${AGENT_OS_NAME}-${AGENT_OS_ARCH}"
chmod +x "${_bin}/gvm"
eval "$(command "${_bin}/gvm" "${GO_VERSION}" )"
export GOPATH=$(command go env GOPATH)
export PATH="${PATH}:${GOPATH}/bin"
fi
pushd "$WORKSPACE"
}

google_cloud_auth() {
local keyFile=$1

gcloud auth activate-service-account --key-file ${keyFile} 2> /dev/null

export GOOGLE_APPLICATION_CREDENTIALS=${secretFileLocation}
}
22 changes: 22 additions & 0 deletions .buildkite/scripts/retry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash
set -euo pipefail

retry() {
local retries=$1
shift

local count=0
until "$@"; do
exit=$?
wait=$((2 ** count))
count=$((count + 1))
if [ $count -lt "$retries" ]; then
>&2 echo "Retry $count/$retries exited $exit, retrying in $wait seconds..."
sleep $wait
else
>&2 echo "Retry $count/$retries exited $exit, no more retries left."
return $exit
fi
done
return 0
}
93 changes: 93 additions & 0 deletions .buildkite/scripts/steps/ess.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/usr/bin/env bash
set -euo pipefail

source .buildkite/scripts/retry.sh

function ess_up() {
install_terraform
echo "~~~ Staring ESS Stack"
local WORKSPACE=$(git rev-parse --show-toplevel)
local TF_DIR="${WORKSPACE}/test_infra/ess/"
local STACK_VERSION=$1
local ESS_REGION=${2:-"gcp-us-west2"}

if [ -z "$STACK_VERSION" ]; then
echo "Error: Specify stack version: ess_up [stack_version]" >&2
return 1
fi

export EC_API_KEY=$(retry 5 vault kv get -field=apiKey kv/ci-shared/platform-ingest/platform-ingest-ec-prod)

if [[ -z "${EC_API_KEY}" ]]; then
echo "Error: Failed to get EC API key from vault" >&2
exit 1
fi

BUILDKITE_BUILD_CREATOR="${BUILDKITE_BUILD_CREATOR:-"$(get_git_user_email)"}"
BUILDKITE_BUILD_NUMBER="${BUILDKITE_BUILD_NUMBER:-"0"}"
BUILDKITE_PIPELINE_SLUG="${BUILDKITE_PIPELINE_SLUG:-"elastic-agent-integration-tests"}"

pushd "${TF_DIR}"
terraform init
terraform apply \
-auto-approve \
-var="stack_version=${STACK_VERSION}" \
-var="ess_region=${ESS_REGION}" \
-var="creator=${BUILDKITE_BUILD_CREATOR}" \
-var="buildkite_id=${BUILDKITE_BUILD_NUMBER}" \
-var="pipeline=${BUILDKITE_PIPELINE_SLUG}"

export ELASTICSEARCH_HOST=$(terraform output -raw es_host)
export ELASTICSEARCH_USERNAME=$(terraform output -raw es_username)
export ELASTICSEARCH_PASSWORD=$(terraform output -raw es_password)
export KIBANA_HOST=$(terraform output -raw kibana_endpoint)
export KIBANA_USERNAME=$ELASTICSEARCH_USERNAME
export KIBANA_PASSWORD=$ELASTICSEARCH_PASSWORD
popd
}

function ess_down() {
install_terraform
echo "~~~ Tearing down the ESS Stack"
local WORKSPACE=$(git rev-parse --show-toplevel)
local TF_DIR="${WORKSPACE}/test_infra/ess/"
if [ -z "${EC_API_KEY:-}" ]; then
export EC_API_KEY=$(retry 5 vault kv get -field=apiKey kv/ci-shared/platform-ingest/platform-ingest-ec-prod)
fi

pushd "${TF_DIR}"
terraform init
terraform destroy -auto-approve
popd
}

function get_git_user_email() {
if ! git rev-parse --is-inside-work-tree &>/dev/null; then
echo "unknown"
return
fi

local email
email=$(git config --get user.email)

if [ -z "$email" ]; then
echo "unknown"
else
echo "$email"
fi
}

# remove when use custom images
install_terraform() {
pazone marked this conversation as resolved.
Show resolved Hide resolved
if command -v terraform &> /dev/null; then
return 0
fi
TERRAFORM_VERSION="1.9.1"
echo "~~~ Installing Terraform ${TERRAFORM_VERSION}"
DOWNLOAD_URL="https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip"
curl -o terraform_${TERRAFORM_VERSION}_linux_amd64.zip $DOWNLOAD_URL
unzip -o terraform_${TERRAFORM_VERSION}_linux_amd64.zip
sudo mv terraform /usr/local/bin/
rm terraform_${TERRAFORM_VERSION}_linux_amd64.zip
echo "Terraform version $(terraform -v) installed successfully."
}
11 changes: 11 additions & 0 deletions .buildkite/scripts/steps/ess_down.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail

source .buildkite/scripts/common2.sh

source .buildkite/scripts/steps/ess.sh

OVERRIDE_AGENT_PACKAGE_VERSION="$(cat .package-version)"
OVERRIDE_TEST_AGENT_VERSION=${OVERRIDE_AGENT_PACKAGE_VERSION}"-SNAPSHOT"
pazone marked this conversation as resolved.
Show resolved Hide resolved

ess_down || echo "Failed to stop ESS stack" >&2
Loading