Skip to content

Commit f1e2974

Browse files
authored
Merge pull request #30 from yussufsh/selective
WIP: Allow registering to a single build server
2 parents c78698a + f088ddb commit f1e2974

File tree

1 file changed

+66
-32
lines changed

1 file changed

+66
-32
lines changed

install-ci.sh

Lines changed: 66 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
#!/usr/bin/env bash
22
set -xeu
33

4+
APICI_BUILD01="\<apici_build01\>"
5+
APICI_BUILD02="\<apici_build02\>"
6+
declare -a APICIS=( apici_build01 apici_build02 )
7+
48
function restart_apici ()
59
{
6-
local -a APICIS=( apici_build01 apici_build02 )
7-
810
for APICI in ${APICIS[@]}
911
do
1012
sudo systemctl stop ${APICI}.service || true
@@ -71,25 +73,46 @@ case ${NAMESPACE} in
7173
exit 1
7274
;;
7375
esac
74-
if [[ ! -v LOGIN_TOKEN_B01 ]]
75-
then
76-
echo "ERROR: LOGIN_TOKEN_B01 environment variable must be set!"
77-
exit 1
78-
fi
79-
if [[ -z "${LOGIN_TOKEN_B01}" ]]
76+
77+
# If APICI_SINGLE is set then validate and reset APICIS array to this CI
78+
if [[ -n ${APICI_SINGLE:-""} ]]
8079
then
81-
echo "ERROR: LOGIN_TOKEN_B01 environment variable must have a value!"
82-
exit 1
80+
APICIVALUE="\<${APICI_SINGLE}\>"
81+
if [[ ${APICIS[*]} =~ ${APICIVALUE} ]]
82+
then
83+
APICIS=( "${APICI_SINGLE}" )
84+
else
85+
echo "ERROR: Invalid APICI_SINGLE value of ${APICI_SINGLE}"
86+
exit 1
87+
fi
8388
fi
84-
if [[ ! -v LOGIN_TOKEN_B02 ]]
89+
90+
91+
if [[ ${APICIS[*]} =~ $APICI_BUILD01 ]]
8592
then
86-
echo "ERROR: LOGIN_TOKEN_B02 environment variable must be set!"
87-
exit 1
93+
if [[ ! -v LOGIN_TOKEN_B01 ]]
94+
then
95+
echo "ERROR: LOGIN_TOKEN_B01 environment variable must be set!"
96+
exit 1
97+
fi
98+
if [[ -z "${LOGIN_TOKEN_B01}" ]]
99+
then
100+
echo "ERROR: LOGIN_TOKEN_B01 environment variable must have a value!"
101+
exit 1
102+
fi
88103
fi
89-
if [[ -z "${LOGIN_TOKEN_B02}" ]]
104+
if [[ ${APICIS[*]} =~ $APICI_BUILD02 ]]
90105
then
91-
echo "ERROR: LOGIN_TOKEN_B02 environment variable must have a value!"
92-
exit 1
106+
if [[ ! -v LOGIN_TOKEN_B02 ]]
107+
then
108+
echo "ERROR: LOGIN_TOKEN_B02 environment variable must be set!"
109+
exit 1
110+
fi
111+
if [[ -z "${LOGIN_TOKEN_B02}" ]]
112+
then
113+
echo "ERROR: LOGIN_TOKEN_B02 environment variable must have a value!"
114+
exit 1
115+
fi
93116
fi
94117

95118
declare -a PROGRAMS=( git oc jq )
@@ -149,28 +172,33 @@ function get_token ()
149172
return 0
150173
}
151174

152-
TOKEN_B01=$(get_token ${LOGIN_TOKEN_B01} "https://api.build01.ci.devcluster.openshift.com:6443")
153-
RC=$?
154-
if [ ${RC} -gt 0 ]
175+
if [[ ${APICIS[*]} =~ $APICI_BUILD01 ]]
155176
then
156-
exit 1
177+
TOKEN_B01=$(get_token ${LOGIN_TOKEN_B01} "https://api.build01.ci.devcluster.openshift.com:6443")
178+
RC=$?
179+
if [ ${RC} -gt 0 ]
180+
then
181+
exit 1
182+
fi
157183
fi
158184

159-
TOKEN_B02=$(get_token ${LOGIN_TOKEN_B02} "https://api.build02.gcp.ci.openshift.org:6443")
160-
RC=$?
161-
if [ ${RC} -gt 0 ]
185+
if [[ ${APICIS[*]} =~ $APICI_BUILD02 ]]
162186
then
163-
exit 1
187+
TOKEN_B02=$(get_token ${LOGIN_TOKEN_B02} "https://api.build02.gcp.ci.openshift.org:6443")
188+
RC=$?
189+
if [ ${RC} -gt 0 ]
190+
then
191+
exit 1
192+
fi
164193
fi
165-
166194
declare -a LIBVIRT_FILES
167195
declare -a LIBVIRT_FILES_OLD_SHA
168196

169-
LIBVIRT_FILES=(
170-
"libvirt/tunnel/apici_build01.service"
171-
"libvirt/tunnel/apici_build02.service"
172-
"libvirt/tunnel/tunnel.sh"
173-
)
197+
LIBVIRT_FILES=("libvirt/tunnel/tunnel.sh")
198+
for APICI in ${APICIS[@]}
199+
do
200+
LIBVIRT_FILES+=("libvirt/tunnel/$APICI.service")
201+
done
174202

175203
case ${NAMESPACE} in
176204
"bastion-ppc64le-libvirt")
@@ -227,8 +255,14 @@ fi
227255

228256
git pull
229257

230-
sed -i -e 's,TOKEN=__,TOKEN='${TOKEN_B01}',' libvirt/tunnel/apici_build01.service
231-
sed -i -e 's,TOKEN=__,TOKEN='${TOKEN_B02}',' libvirt/tunnel/apici_build02.service
258+
if [[ ${APICIS[*]} =~ $APICI_BUILD01 ]]
259+
then
260+
sed -i -e 's,TOKEN=__,TOKEN='${TOKEN_B01}',' libvirt/tunnel/apici_build01.service
261+
fi
262+
if [[ ${APICIS[*]} =~ $APICI_BUILD02 ]]
263+
then
264+
sed -i -e 's,TOKEN=__,TOKEN='${TOKEN_B02}',' libvirt/tunnel/apici_build02.service
265+
fi
232266

233267
declare -a LIBVIRT_FILES_NEW_SHA
234268

0 commit comments

Comments
 (0)