#!/bin/bash
# Run locust slaves on relevant client machines
function bail () { echo -e "\nError: ${1:-Unknown Error}\n"; exit ${2:-1}; }
export P4BENCH_NUM_SLAVES=${P4BENCH_NUM_SLAVES:-Undefined}
export P4BENCH_NUM_SLAVES=${1:-$P4BENCH_NUM_SLAVES}
[[ $P4BENCH_NUM_SLAVES == Undefined ]] && \
bail "Num_slaves parameter not supplied."
export P4BENCH_SCRIPT=${P4BENCH_SCRIPT:-Undefined}
export P4BENCH_SCRIPT=${2:-$P4BENCH_SCRIPT}
[[ $P4BENCH_SCRIPT == Undefined ]] && \
bail "Benchmark script parameter not supplied."
export P4BENCH_HOST=${P4BENCH_HOST:-Undefined}
[[ $P4BENCH_HOST == Undefined ]] && \
bail "Benchmark host not defined."
for i in $(seq 1 $P4BENCH_NUM_SLAVES); do
nohup locust -f p4_${P4BENCH_SCRIPT} --slave --master-host=${P4BENCH_HOST} > slave$i.out 2>&1 &
done