1818
1919set -x
2020set -e
21+ set -o pipefail
2122
2223ssh () {
23- if [ -z " $SSH_BIN " ]; then
24- SSH_BIN=$( which ssh)
24+ if [[ -z " ${ SSH_BIN} " ] ]; then
25+ SSH_BIN=$( command -v ssh)
2526 fi
2627
27- $SSH_BIN -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no " $@ "
28+ ${ SSH_BIN} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no " $@ "
2829}
2930
3031scp () {
31- if [ -z " $SCP_BIN " ]; then
32- SCP_BIN=$( which scp)
32+ if [[ -z " ${ SCP_BIN} " ] ]; then
33+ SCP_BIN=$( command -v scp)
3334 fi
3435
35- $SCP_BIN -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no " $@ "
36+ ${ SCP_BIN} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no " $@ "
3637}
3738
3839net_info () {
3940 #
4041 # grab command output to see what's going on from the buildomat logs
4142 #
42- if [ -z " $ARISTA_IP " ]; then
43+ if [[ -z " ${ ARISTA_IP} " ] ]; then
4344 ARISTA_IF=$( pfexec ./interop exec arista " ip -4 -j route show default | jq '.[0][\" dev\" ]' | tr -d '\" '" )
44- ARISTA_IP=$( pfexec ./interop exec arista " ip -4 -br -j addr show dev $ARISTA_IF | jq '.[0][\" addr_info\" ][0][\" local\" ]' | tr -d '\" '" )
45+ ARISTA_IP=$( pfexec ./interop exec arista " ip -4 -br -j addr show dev ${ ARISTA_IF} | jq '.[0][\" addr_info\" ][0][\" local\" ]' | tr -d '\" '" )
4546 fi
46- ssh root@" $ARISTA_IP " " docker exec -t ceos1 Cli -c 'show ip interface brief | no-more'"
47- ssh root@" $ARISTA_IP " " docker exec -t ceos1 Cli -c 'show ip bgp summary | no-more'"
48- ssh root@" $ARISTA_IP " " docker exec -t ceos1 Cli -c 'show ip bgp | no-more'"
49- ssh root@" $ARISTA_IP " " docker exec -t ceos1 Cli -c 'show ip route | no-more'"
47+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 Cli -c 'show ip interface brief | no-more'"
48+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 Cli -c 'show ip bgp summary | no-more'"
49+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 Cli -c 'show ip bgp | no-more'"
50+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 Cli -c 'show ip route | no-more'"
5051
51- if [ -z " $JUNIPER_IP " ]; then
52+ if [[ -z " ${ JUNIPER_IP} " ] ]; then
5253 JUNIPER_IF=$( pfexec ./interop exec juniper " ip -j route show default | jq '.[0][\" dev\" ]' | tr -d '\" '" )
53- JUNIPER_IP=$( pfexec ./interop exec juniper " ip -4 -br -j addr show dev $JUNIPER_IF | jq '.[0][\" addr_info\" ][0][\" local\" ]' | tr -d '\" '" )
54+ JUNIPER_IP=$( pfexec ./interop exec juniper " ip -4 -br -j addr show dev ${ JUNIPER_IF} | jq '.[0][\" addr_info\" ][0][\" local\" ]' | tr -d '\" '" )
5455 fi
55- ssh root@" $JUNIPER_IP " " docker exec -t crpd1 cli -c 'show interfaces terse | no-more'"
56- ssh root@" $JUNIPER_IP " " docker exec -t crpd1 cli -c 'show bgp summary | no-more'"
57- ssh root@" $JUNIPER_IP " " docker exec -t crpd1 cli -c 'show route | no-more'"
56+ ssh root@" ${ JUNIPER_IP} " " docker exec -t crpd1 cli -c 'show interfaces terse | no-more'"
57+ ssh root@" ${ JUNIPER_IP} " " docker exec -t crpd1 cli -c 'show bgp summary | no-more'"
58+ ssh root@" ${ JUNIPER_IP} " " docker exec -t crpd1 cli -c 'show route | no-more'"
5859
59- if [ -z " $MGD_IP " ]; then
60+ if [[ -z " ${ MGD_IP} " ] ]; then
6061 MGD_IF=$( pfexec ./interop exec mgd " route get -inet default | grep interface | awk '{print \$ NF}'" )
61- MGD_IP=$( pfexec ./interop exec mgd " ipadm show-addr $MGD_IF /v4 -p -o addr | cut -d / -f 1" )
62+ MGD_IP=$( pfexec ./interop exec mgd " ipadm show-addr ${ MGD_IF} /v4 -p -o addr | cut -d / -f 1" )
6263 fi
63- ssh root@" $MGD_IP " " /opt/cargo-bay/mgadm bgp status neighbors 65100"
64- ssh root@" $MGD_IP " " /opt/cargo-bay/mgadm rib status imported"
65- ssh root@" $MGD_IP " " /opt/cargo-bay/mgadm rib status selected"
66- ssh root@" $MGD_IP " " /opt/cargo-bay/mgadm bgp status exported 65100"
64+ ssh root@" ${ MGD_IP} " " /opt/cargo-bay/mgadm bgp status neighbors 65100"
65+ ssh root@" ${ MGD_IP} " " /opt/cargo-bay/mgadm rib status imported"
66+ ssh root@" ${ MGD_IP} " " /opt/cargo-bay/mgadm rib status selected"
67+ ssh root@" ${ MGD_IP} " " /opt/cargo-bay/mgadm bgp status exported 65100"
6768}
6869
6970_exit_trap () {
7071 local status=$?
71- [[ $status -eq 0 ]] && exit 0
72+ [[ ${ status} -eq 0 ]] && exit 0
7273
7374 set +o errexit
7475
@@ -103,25 +104,25 @@ _exit_trap() {
103104 # grab platform-specific logs
104105 # variables set in prior call to net_info
105106 #
106- ssh root@" $ARISTA_IP " " cp /tmp/init.log /tmp/arista.init.log"
107- ssh root@" $ARISTA_IP " " docker ps -a > /tmp/arista.docker-ps.log"
108- ssh root@" $ARISTA_IP " " docker logs ceos1 > /tmp/arista.docker.logs"
109- ssh root@" $ARISTA_IP " " docker exec -t ceos1 cat /var/log/account.log > /tmp/arista.account.log"
110- ssh root@" $ARISTA_IP " " docker exec -t ceos1 cat /var/log/messages > /tmp/arista.messages"
111- ssh root@" $ARISTA_IP " " docker exec -t ceos1 cat /var/log/nginx-error.log > /tmp/arista.nginx-error.log"
112- ssh root@" $ARISTA_IP " " docker exec -t ceos1 cat /var/log/nginx-access.log > /tmp/arista.nginx-access.log"
113- scp root@" $ARISTA_IP " :/tmp/* .log /work
114-
115- ssh root@" $JUNIPER_IP " " cp /tmp/init.log /tmp/juniper.init.log"
116- ssh root@" $JUNIPER_IP " " docker ps -a > /tmp/juniper.docker-ps.log"
117- ssh root@" $JUNIPER_IP " " docker logs crpd1 > /tmp/juniper.docker-logs.log"
118- ssh root@" $JUNIPER_IP " " docker exec -t crpd1 cat /var/log/messages > /tmp/juniper-messages.log"
119- ssh root@" $JUNIPER_IP " " docker exec -t crpd1 cat /var/log/na-grpcd > /tmp/juniper-na-grpcd.log"
120- scp root@" $JUNIPER_IP " :/tmp/* .log /work
107+ ssh root@" ${ ARISTA_IP} " " cp /tmp/init.log /tmp/arista.init.log"
108+ ssh root@" ${ ARISTA_IP} " " docker ps -a > /tmp/arista.docker-ps.log"
109+ ssh root@" ${ ARISTA_IP} " " docker logs ceos1 > /tmp/arista.docker.logs"
110+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 cat /var/log/account.log > /tmp/arista.account.log"
111+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 cat /var/log/messages > /tmp/arista.messages"
112+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 cat /var/log/nginx-error.log > /tmp/arista.nginx-error.log"
113+ ssh root@" ${ ARISTA_IP} " " docker exec -t ceos1 cat /var/log/nginx-access.log > /tmp/arista.nginx-access.log"
114+ scp root@" ${ ARISTA_IP} " :/tmp/* .log /work
115+
116+ ssh root@" ${ JUNIPER_IP} " " cp /tmp/init.log /tmp/juniper.init.log"
117+ ssh root@" ${ JUNIPER_IP} " " docker ps -a > /tmp/juniper.docker-ps.log"
118+ ssh root@" ${ JUNIPER_IP} " " docker logs crpd1 > /tmp/juniper.docker-logs.log"
119+ ssh root@" ${ JUNIPER_IP} " " docker exec -t crpd1 cat /var/log/messages > /tmp/juniper-messages.log"
120+ ssh root@" ${ JUNIPER_IP} " " docker exec -t crpd1 cat /var/log/na-grpcd > /tmp/juniper-na-grpcd.log"
121+ scp root@" ${ JUNIPER_IP} " :/tmp/* .log /work
121122
122123 # /tmp filepaths chosen in testbed/interop/src/interop.rs and testbed/interop/cargo-bay/mgd/init.sh
123- ssh root@" $MGD_IP " " cp /tmp/init.log /tmp/mgd.init.log"
124- scp root@" $MGD_IP " :/tmp/{mgd.init,mgd}.log /work
124+ ssh root@" ${ MGD_IP} " " cp /tmp/init.log /tmp/mgd.init.log"
125+ scp root@" ${ MGD_IP} " :/tmp/{mgd.init,mgd}.log /work
125126
126127 find /work -ls
127128
@@ -139,15 +140,20 @@ banner 'zpool'
139140# pick the largest disk available
140141DISK=$( pfexec diskinfo -pH | sort -k8 -n -r | head -1 | awk ' {print $2}' )
141142export DISK
142- pfexec zpool create -o ashift=12 -f cpool " $DISK "
143+ pfexec zpool create -o ashift=12 -f cpool " ${ DISK} "
143144pfexec zfs create -o mountpoint=/ci cpool/ci
144145
145- if [[ $( curl -s http://catacomb.eng.oxide.computer:12346/trim-me) =~ " true" ]]; then
146+ trim_response=$( curl -s http://catacomb.eng.oxide.computer:12346/trim-me)
147+ if [[ ${trim_response} =~ " true" ]]; then
146148 pfexec zpool trim cpool
147- while [[ ! $( zpool status -t cpool) =~ " 100%" ]]; do sleep 10; done
149+ while true ; do
150+ trim_status=$( zpool status -t cpool)
151+ [[ ${trim_status} =~ " 100%" ]] && break
152+ sleep 10
153+ done
148154fi
149155
150- pfexec chown " $UID " /ci
156+ pfexec chown " ${ UID} " /ci
151157cd /ci
152158export FALCON_DATASET=" cpool/falcon"
153159
@@ -158,8 +164,8 @@ tar xvfz /input/build-interop/work/testbed.tar.gz
158164mkdir -p image/mgd
159165(cd image/mgd && tar xvfz /input/image/out/mgd.tar.gz)
160166for bin in mgadm mgd; do
161- mv " image/mgd/root/opt/oxide/mgd/bin/$bin " \
162- " testbed/interop/cargo-bay/mgd/$bin "
167+ mv " image/mgd/root/opt/oxide/mgd/bin/${ bin} " \
168+ " testbed/interop/cargo-bay/mgd/${ bin} "
163169done
164170cd testbed
165171mkdir -p target/debug
@@ -175,14 +181,14 @@ chmod +x dhcp-server
175181first=$( bmat address ls -f extra -Ho first)
176182last=$( bmat address ls -f extra -Ho last)
177183gw=$( bmat address ls -f extra -Ho gateway)
178- server=$( ipadm show-addr " $EXT_INTERFACE " /dhcp -po ADDR | sed ' s#/.*##g' )
179- pfexec ./dhcp-server " $first " " $last " " $gw " " $server " & > /work/dhcp-server.log &
184+ server=$( ipadm show-addr " ${ EXT_INTERFACE} " /dhcp -po ADDR | sed ' s#/.*##g' )
185+ pfexec ./dhcp-server " ${ first} " " ${ last} " " ${gw} " " ${ server} " & > /work/dhcp-server.log &
180186
181187banner ' launch'
182188
183189cd interop
184190pfexec ./interop launch
185- cp * .log /work/
191+ cp ./ * .log /work/
186192
187193banner ' status'
188194
0 commit comments