From d23880c787ee66eca0eb936f584bca94c846a47e Mon Sep 17 00:00:00 2001 From: grev Date: Wed, 25 Feb 2009 15:19:28 +0000 Subject: [PATCH] b=18468 i=Adilger runracer multidir changes --- lustre/tests/acceptance-small.sh | 4 ++-- lustre/tests/runracer | 41 +++++++++++++++++++++++++++++++++------- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/lustre/tests/acceptance-small.sh b/lustre/tests/acceptance-small.sh index 710e6f0..166ba49 100755 --- a/lustre/tests/acceptance-small.sh +++ b/lustre/tests/acceptance-small.sh @@ -348,8 +348,8 @@ for NAME in $CONFIGS; do [ "$SLOW" = "no" ] && DURATION=300 RACERCLIENTS=$HOSTNAME [ ! -z ${CLIENTS} ] && RACERCLIENTS=$CLIENTS - log "racer on clients: $RACERCLIENTS DURATION=$DURATION" - CLIENTS=${RACERCLIENTS} DURATION=$DURATION bash runracer + log "racer on clients: $RACERCLIENTS DURATION=$DURATION RACERDIRS=$RACERDIRS" + CLIENTS=${RACERCLIENTS} DURATION=$DURATION bash runracer $RACERDIRS $CLEANUP $SETUP RACER="done" diff --git a/lustre/tests/runracer b/lustre/tests/runracer index fcc26ed..feca24b 100644 --- a/lustre/tests/runracer +++ b/lustre/tests/runracer @@ -11,8 +11,15 @@ racer=`which racer.sh` [ -z "$racer" ] && echo racer is not installed && exit 1 CLIENTS=${CLIENTS:-$HOSTNAME} -RDIR=$DIR/racer -mkdir -p $RDIR +RACERDIRS=$@ +RACERDIRS=${RACERDIRS:-$DIR} +echo RACERDIRS=$RACERDIRS +for d in ${RACERDIRS}; do + RDIRS="$RDIRS $d/racer" + mkdir -p $d/racer +# lfs setstripe $d/racer -c -1 +done + DURATION=${DURATION:-120} assert_env CLIENTS @@ -31,6 +38,8 @@ do_racer_cleanup () { local pids local rc=0 + local RDIR=$1 + echo "DOING RACER CLEANUP ... " # Check if all processes are killed @@ -81,11 +90,16 @@ racer_cleanup () { echo $timeout killing RACERPID=$RACERPID kill $RACERPID || true sleep 2 # give chance racer to kill it's processes - do_racer_cleanup + local dir + for dir in $RDIRS; do + do_racer_cleanup $dir + done else echo "Racer completed before DURATION=$DURATION expired. Cleaning up..." kill $TIMERPID - do_racer_cleanup + for dir in $RDIRS; do + do_racer_cleanup $dir + done fi } @@ -104,10 +118,23 @@ trap racer_timeout ALRM timer_on $((DURATION + 5)) -do_nodes $CLIENTS "DURATION=$DURATION $racer $RDIR" & -RACERPID=$! +RACERPID="" +for rdir in $RDIRS; do + do_nodes $CLIENTS "DURATION=$DURATION $racer $rdir $NUM_RACER_THREADS" & + pid=$! + RACERPID="$RACERPID $pid" +done + echo RACERPID=$RACERPID -wait $RACERPID || RC=2 +for rpid in $RACERPID; do + wait $rpid + rc=$? + echo "rpid=$rpid rc=$rc" + if [ $rc != 0 ]; then + RC=$((RC + 1)) + fi +done + racer_cleanup echo "$0: completed $RC" exit $RC -- 1.8.3.1