Skip to content

Commit

Permalink
CI: Update the scripts for running the API tests on Jenkins
Browse files Browse the repository at this point in the history
Use the common scripts for launching the Elasticsearch cluster and executing up the tests.
  • Loading branch information
karmi committed May 15, 2020
1 parent c61e619 commit 84051fb
Show file tree
Hide file tree
Showing 12 changed files with 502 additions and 131 deletions.
36 changes: 18 additions & 18 deletions .jenkins/certs/ca.crt
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDSTCCAjGgAwIBAgIUGqPn96yNRroRX2uBi+m999M4GwIwDQYJKoZIhvcNAQEL
BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
cmF0ZWQgQ0EwHhcNMjAwNDI5MDUyMzI2WhcNMjEwNDI5MDUyMzI2WjA0MTIwMAYD
VQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBDQTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIsS6eBX4PK3xiU5+mWG2pj6
T/3GzOkYRmHPqOsIdVylKeqg5p42y8u3UrSk4pqWg7oifwZTJkOQOuoZMoqAE9C1
lwHJfdvyltjg/BAj4+3s3QqxWWMy1ATNXvYYOxhgC5F7URLYKdEKxYjWkZIxChcy
2oEpYSezDb1KnnraDz+snawTUVAqiHgsjmEMqueJZGj78dULf6kgsDRbGVecVy+B
D9aFUgnB0Tb8i2BbU90LwknKqJGmQ0JwMRBWoGXJ/jhOr1bYhx8RUWZVglF/Q6MZ
Es63oW45POm+OLlZk8Lnvzth7DS37v8wPID8cc00Dsb1g2s7ValacesdFn8huyUC
AwEAAaNTMFEwHQYDVR0OBBYEFAoBzyNNN2Uz/J/pQP6o8Mj2OvEWMB8GA1UdIwQY
MBaAFAoBzyNNN2Uz/J/pQP6o8Mj2OvEWMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggEBACV43c28cDSpX1FICI37pITRRzw4O9PG/HKrf307/jIieHTb
HPR6W27YZcwaI5Mtut6DkloM6I44uC87zqzCpxnSdmhEzMIcKjQbIBZEItvrJURd
2ll4RcXrAEznbwng9Z90W3WOgWjX91AA6Y/TCYgCxa9/qA99RLvJlU4VkQ6QUE4X
e2nSdBBBTUgARVM+0nDxPvE00GR598UA/UFiXtKJNZv3BNt5viPefFYXItuzlmsQ
7ZkLqGOYcHrH/rdSzS4R2D1WjlzPBx4z5D7+3XQV2mjRJmahKZj8F0icnZPq9Uk2
nehNyMis+kGplpUspadB+HUKt6uaCwR+ELOPyhU=
MIIDSjCCAjKgAwIBAgIVAJQLm8V2LcaCTHUcoIfO+KL63nG3MA0GCSqGSIb3DQEB
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1N1oXDTIzMDIyNTA1NTA1N1owNDEyMDAG
A1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5lcmF0ZWQgQ0Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYyajkPvGtUOE5M1OowQfB
kWVrWjo1+LIxzgCeRHp0YztLtdVJ0sk2xoSrt2uZpxcPepdyOseLTjFJex1D2yCR
AEniIqcFif4G72nDih2LlbhpUe/+/MTryj8ZTkFTzI+eMmbQi5FFMaH+kwufmdt/
5/w8YazO18SxxJUlzMqzfNUrhM8vvvVdxgboU7PWhk28wZHCMHQovomHmzclhRpF
N0FMktA98vHHeRjH19P7rNhifSd7hZzoH3H148HVAKoPgqnZ6vW2O2YfAWOP6ulq
cyszr57p8fS9B2wSdlWW7nVHU1JuKcYD67CxbBS23BeGFgCj4tiNrmxO8S5Yf85v
AgMBAAGjUzBRMB0GA1UdDgQWBBSWAlip9eoPmnG4p4OFZeOUBlAbNDAfBgNVHSME
GDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
SIb3DQEBCwUAA4IBAQA19qqrMTWl7YyId+LR/QIHDrP4jfxmrEELrAL58q5Epc1k
XxZLzOBSXoBfBrPdv+3XklWqXrZjKWfdkux0Xmjnl4qul+srrZDLJVZG3I7IrITh
AmQUmL9MuPiMnAcxoGZp1xpijtW8Qmd2qnambbljWfkuVaa4hcVRfrAX6TciIQ21
bS5aeLGrPqR14h30YzDp0RMmTujEa1o6ExN0+RSTkE9m89Q6WdM69az8JW7YkWqm
I+UCG3TcLd3TXmN1zNQkq4y2ObDK4Sxy/2p6yFPI1Fds5w/zLfBOvvPQY61vEqs8
SCCcQIe7f6NDpIRIBlty1C9IaEHj7edyHjF6rtYb
-----END CERTIFICATE-----
20 changes: 20 additions & 0 deletions .jenkins/certs/elasticsearch_ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDSTCCAjGgAwIBAgIUGqPn96yNRroRX2uBi+m999M4GwIwDQYJKoZIhvcNAQEL
BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
cmF0ZWQgQ0EwHhcNMjAwNDI5MDUyMzI2WhcNMjEwNDI5MDUyMzI2WjA0MTIwMAYD
VQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBDQTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIsS6eBX4PK3xiU5+mWG2pj6
T/3GzOkYRmHPqOsIdVylKeqg5p42y8u3UrSk4pqWg7oifwZTJkOQOuoZMoqAE9C1
lwHJfdvyltjg/BAj4+3s3QqxWWMy1ATNXvYYOxhgC5F7URLYKdEKxYjWkZIxChcy
2oEpYSezDb1KnnraDz+snawTUVAqiHgsjmEMqueJZGj78dULf6kgsDRbGVecVy+B
D9aFUgnB0Tb8i2BbU90LwknKqJGmQ0JwMRBWoGXJ/jhOr1bYhx8RUWZVglF/Q6MZ
Es63oW45POm+OLlZk8Lnvzth7DS37v8wPID8cc00Dsb1g2s7ValacesdFn8huyUC
AwEAAaNTMFEwHQYDVR0OBBYEFAoBzyNNN2Uz/J/pQP6o8Mj2OvEWMB8GA1UdIwQY
MBaAFAoBzyNNN2Uz/J/pQP6o8Mj2OvEWMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggEBACV43c28cDSpX1FICI37pITRRzw4O9PG/HKrf307/jIieHTb
HPR6W27YZcwaI5Mtut6DkloM6I44uC87zqzCpxnSdmhEzMIcKjQbIBZEItvrJURd
2ll4RcXrAEznbwng9Z90W3WOgWjX91AA6Y/TCYgCxa9/qA99RLvJlU4VkQ6QUE4X
e2nSdBBBTUgARVM+0nDxPvE00GR598UA/UFiXtKJNZv3BNt5viPefFYXItuzlmsQ
7ZkLqGOYcHrH/rdSzS4R2D1WjlzPBx4z5D7+3XQV2mjRJmahKZj8F0icnZPq9Uk2
nehNyMis+kGplpUspadB+HUKt6uaCwR+ELOPyhU=
-----END CERTIFICATE-----
19 changes: 19 additions & 0 deletions .jenkins/certs/testnode.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgIVAMTO6uVx9dLox2t0lY4IcBKZXb5WMA0GCSqGSIb3DQEB
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1OVoXDTIzMDIyNTA1NTA1OVowEzERMA8G
A1UEAxMIaW5zdGFuY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDK
YLTOikVENiN/qYupOsoXd7VYYnryyfCC/dK4FC2aozkbqjFzBdvPGAasoc4yEiH5
CGeXMgJuOjk1maqetmdIsw00j4oHJviYsnGXzxxS5swhD7spcW4Uk4V4tAUzrbfT
vW/2WW/yYCLe5phVb2chz0jL+WYb4bBmdfs/t6RtP9RqsplYAmVp3gZ6lt2YNtvE
k9gz0TVk3DuO1TquIClfRYUjuywS6xDSvxJ8Jl91EfDWM8QU+9F+YAtiv74xl2U3
P0wwMqNvMxf9/3ak3lTQGsgO4L6cwbKpVLMMzxSVunZz/sgl19xy3qHHz1Qr2MjJ
/2c2J7vahUL4NPRkjJClAgMBAAGjTTBLMB0GA1UdDgQWBBS2Wn8E2VZv4oenY+pR
O8G3zfQXhzAfBgNVHSMEGDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAJBgNVHRME
AjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAvwPvCiJJ6v9jYcyvYY8I3gP0oCwrylpRL
n91UlgRSHUmuAObyOoVN5518gSV/bTU2SDrstcLkLFxHvnfpoGJoxsQEHuGxwDRI
nhYNd62EKLerehNM/F9ILKmvTh8f6QPCzjUuExTXv+63l2Sr6dBS7FHsGs6UKUYO
llM/y9wMZ1LCuZuBg9RhtgpFXRSgDM9Z7Begu0d/BPX9od/qAeZg9Arz4rwUiCN4
IJOMEBEPi5q1tgeS0Fb1Grpqd0Uz5tZKtEHNKzLG+zSMmkneL62Nk2HsmEFZKwzg
u2pU42UaUE596G6o78s1aLn9ICcElPHTjiuZNSiyuu9IzvFDjGQw
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions .jenkins/certs/testnode.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAymC0zopFRDYjf6mLqTrKF3e1WGJ68snwgv3SuBQtmqM5G6ox
cwXbzxgGrKHOMhIh+QhnlzICbjo5NZmqnrZnSLMNNI+KByb4mLJxl88cUubMIQ+7
KXFuFJOFeLQFM623071v9llv8mAi3uaYVW9nIc9Iy/lmG+GwZnX7P7ekbT/UarKZ
WAJlad4GepbdmDbbxJPYM9E1ZNw7jtU6riApX0WFI7ssEusQ0r8SfCZfdRHw1jPE
FPvRfmALYr++MZdlNz9MMDKjbzMX/f92pN5U0BrIDuC+nMGyqVSzDM8Ulbp2c/7I
Jdfcct6hx89UK9jIyf9nNie72oVC+DT0ZIyQpQIDAQABAoIBADAh7f7NjgnaInlD
ds8KB3SraPsbeQhzlPtiqRJU4j/MIFH/GYG03AGWQkget67a9y+GmzSvlTpoKKEh
6h2TXl9BDpv4o6ht0WRn1HJ5tM/Wyqf2WNpTew3zxCPgFPikkXsPrChYPzLTQJfp
GkP/mfTFmxfAOlPZSp4j41zVLYs53eDkAegFPVfKSr1XNNJ3QODLPcIBfxBYsiC9
oU+jRW8xYuj31cEl5k5UqrChJ1rm3mt6cguqXKbISuoSvi13gXI6DccqhuLAU+Kr
ib2XYrRP+pWocZo/pM9WUVoNGtFxfY88sAQtvG6gDKo2AURtFyq84Ow0h9mdixV/
gRIDPcECgYEA5nEqE3OKuG9WuUFGXvjtn4C0F6JjflYWh7AbX51S4F6LKrW6/XHL
Rg4BtF+XReT7OQ6llsV8kZeUxsUckkgDLzSaA8lysNDV5KkhAWHfRqH//QKFbqZi
JL9t3x63Qt81US8s2hQk3khPYTRM8ZB3xHiXvZYSGC/0x/DxfEO3QJECgYEA4NK5
sxtrat8sFz6SK9nWEKimPjDVzxJ0hxdX4tRq/JdOO5RncawVqt6TNP9gTuxfBvhW
MhJYEsQj8iUoL1dxo9d1eP8HEANNV0iX5OBvJNmgBp+2OyRSyr+PA55+wAxYuAE7
QKaitOjW57fpArNRt2hQyiSzTuqUFRWTWJHCWNUCgYAEurPTXF6vdFGCUc2g61jt
GhYYGhQSpq+lrz6Qksj9o9MVWE9zHh++21C7o+6V16I0RJGva3QoBMVf4vG4KtQt
5tV2WG8LI+4P2Ey+G4UajP6U8bVNVQrUmD0oBBhcvfn5JY+1Fg6/pRpD82/U0VMz
7AmpMWhDqNBMPiymkTk0kQKBgCuWb05cSI0ly4SOKwS5bRk5uVFhYnKNH255hh6C
FGP4acB/WzbcqC7CjEPAJ0nl5d6SExQOHmk1AcsWjR3wlCWxxiK5PwNJwJrlhh1n
reS1FKN0H36D4lFQpkeLWQOe4Sx7gKNeKzlr0w6Fx3Uwku0+Gju2tdTdAey8jB6l
08opAoGAEe1AuR/OFp2xw6V8TH9UHkkpGxy+OrXI6PX6tgk29PgB+uiMu4RwbjVz
1di1KKq2XecAilVbnyqY+edADxYGbSnci9x5wQRIebfMi3VXKtV8NQBv2as6qwtW
JDcQUWotOHjpdvmfJWWkcBhbAKrgX8ukww00ZI/lC3/rmkGnBBg=
-----END RSA PRIVATE KEY-----
128 changes: 23 additions & 105 deletions .jenkins/run-tests
Original file line number Diff line number Diff line change
@@ -1,108 +1,26 @@
#!/usr/bin/env bash

set -eo pipefail

if [[ -z $TEST_SUITE ]]; then
echo -e "\033[31;1mERROR:\033[0m Required environment variable [TEST_SUITE] not set\033[0m"
exit 1
fi

if [[ -z $ELASTICSEARCH_VERSION ]]; then
echo -e "\033[31;1mERROR:\033[0m Required environment variable [ELASTICSEARCH_VERSION] not set\033[0m"
exit 1
fi

if [[ $TEST_SUITE != "core" && $TEST_SUITE != "xpack" ]]; then
echo -e "\033[31;1mERROR:\033[0m Unknown value [$TEST_SUITE] for [TEST_SUITE]\033[0m"
exit 1
#
# Version 1.1
# - Moved to .ci folder and seperated out `run-repository.sh`
# - Add `$RUNSCRIPTS` env var for running Elasticsearch dependent products

export STACK_VERSION="$ELASTICSEARCH_VERSION"

script_path=$(dirname $(realpath -s $0))
source $script_path/scripts/functions/imports.sh
set -euo pipefail

DETACH=true bash .jenkins/scripts/run-elasticsearch.sh

if [[ -n "$RUNSCRIPTS" ]]; then
for RUNSCRIPT in ${RUNSCRIPTS//,/ } ; do
echo -e "\033[1m>>>>> Running run-$RUNSCRIPT.sh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
CONTAINER_NAME=${RUNSCRIPT} \
DETACH=true \
bash .jenkins/scripts/run-${RUNSCRIPT}.sh
done
fi

if [[ $TEST_SUITE == "core" ]]; then
elasticsearch_image=elasticsearch-oss:$ELASTICSEARCH_VERSION
elasticsearch_url=http://es1:9200
fi

if [[ $TEST_SUITE == "xpack" ]]; then
elasticsearch_image=elasticsearch:$ELASTICSEARCH_VERSION
elasticsearch_url=https://elastic:elastic@es1:9200
fi

function cleanup {
docker container rm --force --volumes es1 > /dev/null 2>&1 || true
docker container rm --force --volumes elasticsearch-source > /dev/null 2>&1 || true
docker container rm --force --volumes go-elasticsearch > /dev/null 2>&1 || true
}

trap cleanup EXIT

TIMEFORMAT="(Duration: %0lR)"

echo -e "\033[1m>>>>> SETUP [$TEST_SUITE] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"

# Build the go-elasticsearch image
docker build --file Dockerfile --tag elastic/go-elasticsearch .

# Launch a single Elasticsearch node
(make cluster detach=true version=$elasticsearch_image)

# Store the Elasticsearch version and build hash
ELASTICSEARCH_BUILD_VERSION=$(docker run --network elasticsearch --rm appropriate/curl -sSk $elasticsearch_url | docker run -i --rm stedolan/jq -r '.version.number')
ELASTICSEARCH_BUILD_HASH=$(docker run --network elasticsearch --rm appropriate/curl -sSk $elasticsearch_url | docker run -i --rm stedolan/jq -r '.version.build_hash')

# Download Elasticsearch source code at ELASTICSEARCH_BUILD_HASH and store it in a container
echo -e ">>>>> Downloading Elasticsearch repository @ $ELASTICSEARCH_BUILD_HASH..."
time docker run --rm appropriate/curl --retry 3 -sSL "https://github.com/elastic/elasticsearch/archive/$ELASTICSEARCH_BUILD_HASH.zip" > "/tmp/elasticsearch-$ELASTICSEARCH_BUILD_HASH.zip"
echo -e ">>>>> Extracting and storing to [elasticsearch-source] container..."
time docker run --volume=/tmp:/tmp --workdir=/tmp --rm elastic/go-elasticsearch unzip -q -o "elasticsearch-$ELASTICSEARCH_BUILD_HASH.zip" '*.properties' '*.json' '*.y*ml'
docker run --volume=/tmp:/tmp --workdir=/tmp --rm elastic/go-elasticsearch /bin/sh -c "
rm -rf /tmp/elasticsearch-$ELASTICSEARCH_BUILD_HASH.zip
rm -rf /tmp/elasticsearch/
mv /tmp/elasticsearch-$ELASTICSEARCH_BUILD_HASH* /tmp/elasticsearch/
"
docker create --name elasticsearch-source --volume /elasticsearch-source --name elasticsearch-source alpine /bin/true
docker cp /tmp/elasticsearch elasticsearch-source:/elasticsearch-source

# Launch the container; actual commands are called with "docker exec"
docker run \
--name go-elasticsearch \
--network elasticsearch \
--env "ELASTICSEARCH_URL=$elasticsearch_url" \
--env "ELASTICSEARCH_VERSION=$ELASTICSEARCH_VERSION" \
--env "ELASTICSEARCH_BUILD_VERSION=$ELASTICSEARCH_BUILD_VERSION" \
--env "ELASTICSEARCH_BUILD_HASH=$ELASTICSEARCH_BUILD_HASH" \
--env "WORKSPACE=${WORKSPACE:-/workspace}" \
--volume "/go-elasticsearch" \
--volume "${WORKSPACE:-workspace}:${WORKSPACE:-/workspace}" \
--volumes-from "elasticsearch-source" \
--rm \
--detach \
elastic/go-elasticsearch sleep 3600

# Run the tests
# NOTE: Conditions needed to prevent early exit due to the 'set -e' option
status=100
case $TEST_SUITE in
"core" )
if bash .jenkins/tests-core.sh; then
status=$?
else
status=$?
fi
;;
"xpack" )
if bash .jenkins/tests-xpack.sh; then
status=$?
else
status=$?
fi
;;
esac

# Report status and exit
if [[ $status == "0" ]]; then
echo -e "\n\033[32;1mSUCCESS\033[0m"
exit 0
else
echo -e "\n\033[31;1mFAILURE\033[0m"
exit $status
fi
echo
echo -e "\033[1m>>>>> Repository specific tests >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
bash .jenkins/scripts/run-repository.sh
67 changes: 67 additions & 0 deletions .jenkins/scripts/functions/cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
#!/usr/bin/env bash
#
# Shared cleanup routines between different steps
#
# Please source .ci/functions/imports.sh as a whole not just this file
#
# Version 1.0.0
# - Initial version after refactor

function cleanup_volume {
if [[ "$(docker volume ls -q -f name=$1)" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing volume $1\033[0m"
(docker volume rm "$1") || true
fi
}
function container_running {
if [[ "$(docker ps -q -f name=$1)" ]]; then
return 0;
else return 1;
fi
}
function cleanup_node {
if container_running "$1"; then
echo -e "\033[34;1mINFO:\033[0m Removing container $1\033[0m"
(docker container rm --force --volumes "$1") || true
fi
if [[ -n "$1" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing volume $1-${suffix}-data\033[0m"
cleanup_volume "$1-${suffix}-data"
fi
}
function cleanup_network {
if [[ "$(docker network ls -q -f name=$1)" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing network $1\033[0m"
(docker network rm "$1") || true
fi
}

function cleanup_trap {
status=$?
set +x
if [[ "$DETACH" != "true" ]]; then
echo -e "\033[34;1mINFO:\033[0m clean the network if not detached (start and exit)\033[0m"
cleanup_all_in_network "$1"
fi
# status is 0 or SIGINT
if [[ "$status" == "0" || "$status" == "130" ]]; then
echo -e "\n\033[32;1mSUCCESS run-tests\033[0m"
exit 0
else
echo -e "\n\033[31;1mFAILURE during run-tests\033[0m"
exit ${status}
fi
};
function cleanup_all_in_network {

if [[ -z "$(docker network ls -q -f name="^$1\$")" ]]; then
echo -e "\033[34;1mINFO:\033[0m $1 is already deleted\033[0m"
return 0
fi
containers=$(docker network inspect -f '{{ range $key, $value := .Containers }}{{ printf "%s\n" .Name}}{{ end }}' $1)
while read -r container; do
cleanup_node "$container"
done <<< "$containers"
cleanup_network $1
echo -e "\033[32;1mSUCCESS:\033[0m Cleaned up and exiting\033[0m"
};
60 changes: 60 additions & 0 deletions .jenkins/scripts/functions/imports.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/bin/env bash
#
# Sets up all the common variables and imports relevant functions
#
# Version 1.0.1
# - Initial version after refactor
# - Validate STACK_VERSION asap

function require_stack_version() {
if [[ -z $STACK_VERSION ]]; then
echo -e "\033[31;1mERROR:\033[0m Required environment variable [STACK_VERSION] not set\033[0m"
exit 1
fi
}

require_stack_version

if [[ -z $es_node_name ]]; then
# only set these once
set -euo pipefail
export TEST_SUITE=${TEST_SUITE-oss}
export RUNSCRIPTS=${RUNSCRIPTS-}
export DETACH=${DETACH-false}
export CLEANUP=${CLEANUP-false}

export es_node_name=instance
export elastic_password=changeme
export elasticsearch_image=elasticsearch
export elasticsearch_url=https://elastic:${elastic_password}@${es_node_name}:9200
if [[ $TEST_SUITE != "xpack" ]]; then
export elasticsearch_image=elasticsearch-${TEST_SUITE}
export elasticsearch_url=http://${es_node_name}:9200
fi
export external_elasticsearch_url=${elasticsearch_url/$es_node_name/localhost}
export elasticsearch_container="${elasticsearch_image}:${STACK_VERSION}"

export suffix=rest-test
export moniker=$(echo "$elasticsearch_container" | tr -C "[:alnum:]" '-')
export network_name=${moniker}${suffix}

export ssl_cert="${script_path}/certs/testnode.crt"
export ssl_key="${script_path}/certs/testnode.key"
export ssl_ca="${script_path}/certs/ca.crt"

fi

export script_path="$PWD/.jenkins"
source $script_path/scripts/functions/cleanup.sh
source $script_path/scripts/functions/wait-for-container.sh
trap "cleanup_trap ${network_name}" EXIT


if [[ "$CLEANUP" == "true" ]]; then
cleanup_all_in_network $network_name
exit 0
fi

echo -e "\033[34;1mINFO:\033[0m Creating network $network_name if it does not exist already \033[0m"
docker network inspect "$network_name" > /dev/null 2>&1 || docker network create "$network_name"

Loading

0 comments on commit 84051fb

Please sign in to comment.