#!/bin/bash set -e # NB don't set -u, as weave's config.sh doesn't like that. # shellcheck disable=SC1091 . ./config.sh echo Copying scope images and scripts to hosts # shellcheck disable=SC2153 for HOST in $HOSTS; do SIZE=$(stat --printf="%s" ../scope.tar) pv -N "scope.tar" -s "$SIZE" ../scope.tar | $SSH -C "$HOST" sudo docker load done setup_host() { local HOST=$1 echo Installing weave on "$HOST" # Download the latest released weave script locally, # for use by weave_on curl -sL git.io/weave -o ./weave chmod a+x ./weave run_on "$HOST" "sudo curl -sL git.io/weave -o /usr/local/bin/weave" run_on "$HOST" "sudo chmod a+x /usr/local/bin/weave" weave_on "$HOST" setup echo Prefetching Images on "$HOST" docker_on "$HOST" pull peterbourgon/tns-db docker_on "$HOST" pull alpine docker_on "$HOST" pull busybox docker_on "$HOST" pull nginx } for HOST in $HOSTS; do setup_host "$HOST" & done wait