@@ -39,6 +39,7 @@ def rally_sudoers
39
39
# Use single quotes to avoid interpolating EOF2 intended for bash
40
40
# tilde before 'EOF' allows indenting heredoc without passing the extra leading spaces to actual bash command
41
41
<<~'EOF'
42
+ set -eo pipefail
42
43
cat >/etc/sudoers.d/rally_user <<EOF2
43
44
Defaults:rally !requiretty
44
45
rally ALL = (ALL) NOPASSWD: ALL
48
49
49
50
def install_jenkins_user
50
51
<<~EOF
51
- set +x
52
+ set -eo pipefail
52
53
groupadd -g 1010 jenkins
53
54
useradd -u 1010 -g 1010 -s /bin/bash -m -k /etc/skel -d /var/lib/jenkins jenkins
54
55
mkdir /var/lib/jenkins/.ssh
62
63
63
64
def install_rally_user
64
65
<<~EOF
66
+ set -eo pipefail
65
67
groupadd -g 1011 rally
66
68
useradd -u 1011 -g 1011 -s /bin/bash -m -k /etc/skel -d /home/rally rally
67
69
mkdir /home/rally/.ssh
75
77
76
78
def install_vault
77
79
<<~EOF
80
+ set -eo pipefail
78
81
CUR_HOME=$HOME
79
82
curl -fsS -o ${CUR_HOME}/vault.zip https://releases.hashicorp.com/vault/1.1.1/vault_1.1.1_linux_amd64.zip
80
83
sudo unzip ${CUR_HOME}/vault.zip -d /usr/local/bin
85
88
86
89
def install_rally_source ( rally_repo , rally_branch , rally_sha )
87
90
<<~EOF
91
+ set -eo pipefail
88
92
apt-get update
89
93
apt-get install -y python-virtualenv
90
94
apt-get install -y python3-pip
@@ -128,7 +132,7 @@ def install_night_rally_test_script(base_ip, target_node_ip_addresses)
128
132
129
133
cat >/var/lib/jenkins/test_nightly.sh <<"EOF2"
130
134
#!/usr/bin/env bash
131
- set -e
135
+ set -eo pipefail
132
136
source /var/lib/jenkins/env_test_script
133
137
# release-license is oss just because it's the default option in the JJB dropdown; will be ignored in nightly mode
134
138
night_rally --target-host="${TARGET_HOSTS}" --race-configs="resources/race-configs-group-1.json" --effective-start-date="" --mode="nightly" --version="master" --release-license="oss" --release-x-pack-components=""
@@ -137,15 +141,15 @@ def install_night_rally_test_script(base_ip, target_node_ip_addresses)
137
141
138
142
cat >/var/lib/jenkins/test_release.sh <<"EOF2"
139
143
#!/usr/bin/env bash
140
- set -e
144
+ set -eo pipefail
141
145
source /var/lib/jenkins/env_test_script
142
146
night_rally --target-host="${TARGET_HOSTS}" --race-configs="resources/race-configs-group-1.json" --effective-start-date="" --mode="release" --version="6.7.0" --release-license="oss" --release-x-pack-components=""
143
147
night_rally --target-host="${TARGET_HOSTS}" --race-configs="resources/race-configs-group-2.json" --effective-start-date="" --mode="release" --version="6.7.0" --release-license="oss" --release-x-pack-components=""
144
148
EOF2
145
149
146
150
cat >/var/lib/jenkins/test_longrunning.sh <<"EOF2"
147
151
#!/usr/bin/env bash
148
- set -e
152
+ set -eo pipefail
149
153
source /var/lib/jenkins/env_test_script
150
154
/var/lib/jenkins/night_rally/external/scripts/long-running-benchmarks.sh
151
155
EOF2
157
161
158
162
def install_java ( major_ver )
159
163
<<~EOF
164
+ set -eo pipefail
160
165
jdk_url=$(curl -fsSL https://jvm-catalog.elastic.co/jdk/latest_openjdk_#{ major_ver } _linux | jq -r .url)
161
166
cd /var/lib/jenkins
162
167
mkdir -p .java/openjdk#{ major_ver }
171
176
172
177
def symlink_java_8
173
178
<<~EOF
179
+ set -eo pipefail
174
180
ln -s /usr/lib/jvm/java-8-openjdk-amd64 /var/lib/jenkins/.java/java8
175
181
# dangling symlinks cause issues to certain gradle versions
176
182
rm -f /usr/lib/jvm/java-8-openjdk-amd64/src.zip
179
185
180
186
def pass_additional_jenkins_env_vars
181
187
<<~EOF
182
- set +x
188
+ set +x -eo pipefail
183
189
cat >>/var/lib/jenkins/.profile <<EOF2
184
190
export VAULT_ADDR=https://secrets.elastic.co:8200
185
191
export RALLY_METRICS_STORE_CREDENTIAL_PATH=${RALLY_METRICS_STORE_CREDENTIAL_PATH:-/secret/rally/cloud/vagrant-test-rally-metrics}
0 commit comments