diff --git a/scripts/start-clients.sh b/scripts/start-clients.sh new file mode 100755 index 00000000..80e40e78 --- /dev/null +++ b/scripts/start-clients.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# start-clients.sh +# Launches clients on all $FAIL_EXPERIMENT_HOSTS. +# +# Prerequisites: +# - (possibly overridden) env variables from fail-env.sh +# + +set -e +# determine absolute path of this script +SCRIPTDIR=$(readlink -f $(dirname $0)) +# env variable defaults +source $SCRIPTDIR/fail-env.sh + +CMD="killall -q client.sh || true; cd $FAIL_EXPERIMENT_TARGETDIR; ./multiple-clients.sh" +CONNECTION_ATTEMPTS=2 +SSH="ssh -o BatchMode=yes -o ConnectTimeout=60 -o ConnectionAttempts=$CONNECTION_ATTEMPTS" + +for h in $FAIL_EXPERIMENT_HOSTS +do + if [[ $h == *:* ]] + then + # split in host:nclients + NCLIENTS=${h#*:} + h=${h%:*} + else + NCLIENTS= + fi + + $SSH $h "$CMD $NCLIENTS" & + #disown +done + +wait +echo 'done.'