it_time_start=$(date +%s)
FAIL_CLIENT=$(get_random_entry $NODES_TO_USE)
- client_var=${FAIL_CLIENT}_nums
+ client_var=$(client_var_name $FAIL_CLIENT)_nums
# store the list of failed clients
# lists are comma separated
local multiop_pid
multiop_pid=$(do_node $client cat $pid_file)
[ -n "$multiop_pid" ] || error "$client : Can not get multiop_pid from $pid_file "
- eval export ${client}_multiop_pid=$multiop_pid
- eval export ${client}_do_node_pid=$pid
- local var=${client}_multiop_pid
+ eval export $(client_var_name $client)_multiop_pid=$multiop_pid
+ eval export $(client_var_name $client)_do_node_pid=$pid
+ local var=$(client_var_name $client)_multiop_pid
echo client $client multiop_bg started multiop_pid=${!var}
return $?
}
rmultiop_stop() {
local client=$1
- local multiop_pid=${client}_multiop_pid
- local do_node_pid=${client}_do_node_pid
+ local multiop_pid=$(client_var_name $client)_multiop_pid
+ local do_node_pid=$(client_var_name $client)_do_node_pid
echo "Stopping multiop_pid=${!multiop_pid} (kill ${!multiop_pid} on $client)"
do_node $client kill -USR1 ${!multiop_pid}
eval \\\$status"
}
+client_var_name() {
+ echo __$(echo $1 | tr '-' 'X')
+}
+
start_client_load() {
local client=$1
- local var=${client}_load
+ local load=$2
+ local var=$(client_var_name $client)_load
+ eval export ${var}=$load
do_node $client "PATH=$PATH MOUNT=$MOUNT ERRORS_OK=$ERRORS_OK \
BREAK_ON_ERROR=$BREAK_ON_ERROR \
END_RUN_FILE=$END_RUN_FILE \
LOAD_PID_FILE=$LOAD_PID_FILE \
TESTSUITELOG=$TESTSUITELOG \
- run_${!var}.sh" &
+ run_${load}.sh" &
CLIENT_LOAD_PIDS="$CLIENT_LOAD_PIDS $!"
- log "Started client load: ${!var} on $client"
+ log "Started client load: ${load} on $client"
return 0
}
for ((nodenum=0; nodenum < ${#clients[@]}; nodenum++ )); do
testnum=$((nodenum % numloads))
- eval export ${clients[nodenum]}_load=${CLIENT_LOADS[testnum]}
- start_client_load ${clients[nodenum]}
+ start_client_load ${clients[nodenum]} ${CLIENT_LOADS[testnum]}
done
}
# only for remote client
check_client_load () {
local client=$1
- local var=${client}_load
-
+ local var=$(client_var_name $client)_load
local TESTLOAD=run_${!var}.sh
ps auxww | grep -v grep | grep $client | grep -q "$TESTLOAD" || return 1