Files
fail/scripts/killall-bochs.sh
2012-04-11 16:30:10 +00:00

42 lines
791 B
Bash
Executable File

#!/bin/bash
#
# killall-bochs.sh
# Kills all remaining FailBochs instances on $FAIL_EXPERIMENT_HOSTS.
#
# Prerequisites:
# - (possibly overridden) env variables from fail-env.sh
#
# FIXME: unify with runcampaign.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"
SSH='ssh -o BatchMode=yes -o ConnectTimeout=60'
CONNECTION_ATTEMPTS=2
for h in $FAIL_EXPERIMENT_HOSTS
do
if [[ $h == *:* ]]
then
# split in host:nclients
NCLIENTS=${h#*:}
h=${h%:*}
else
NCLIENTS=
fi
(
for i in $(seq $CONNECTION_ATTEMPTS)
do
$SSH $h "$CMD" && break
# failed? sleep 1-10s and retry.
sleep $(($RANDOM / (32768 / 10) + 1))
echo retrying $h ...
done
) &
done