This gives more consistent test execution times, and also make image fetch failures more apparent and decoupled from the tests. We could *always* just run pull, but it's an expensive operation, so we check for the presence of the image first. The downside is that we could be running old images. That is not a problem on our CI infrastructure though since it spins up fresh VMs per for every tun.
24 lines
733 B
Bash
Executable File
24 lines
733 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
. ./config.sh
|
|
|
|
(cd ./tls && go get ./... && go run generate_certs.go $HOSTS)
|
|
|
|
echo "Copying weave images, scripts, and certificates to hosts, and"
|
|
echo " prefetch docker images"
|
|
for HOST in $HOSTS; do
|
|
docker_on $HOST load -i ../weave.tar
|
|
docker_on $HOST load -i ../weavedns.tar
|
|
docker_on $HOST load -i ../weaveexec.tar
|
|
run_on $HOST mkdir -p bin
|
|
cat ../bin/docker-ns | run_on $HOST sh -c "cat > $DOCKER_NS"
|
|
cat ../weave | run_on $HOST sh -c "cat > ./weave"
|
|
run_on $HOST chmod a+x $DOCKER_NS ./weave
|
|
rsync -az -e "$SSH" ./tls/ $HOST:~/tls
|
|
for IMG in $TEST_IMAGES ; do
|
|
docker_on $HOST inspect --format=" " $IMG >/dev/null 2>&1 || docker_on $HOST pull $IMG
|
|
done
|
|
done
|