Whamcloud - gitweb
edcf900a81b68f4ea4e4cc81cb78d31bb938ddde
[fs/lustre-release.git] / lustre / tests / racer.sh
1 #!/bin/bash
2 #set -vx
3 set -e
4
5 ONLY=${ONLY:-"$*"}
6 LUSTRE=${LUSTRE:-$(cd $(dirname $0)/..; echo $PWD)}
7 . $LUSTRE/tests/test-framework.sh
8 init_test_env $@
9 . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh}
10 init_logging
11
12 racer=$LUSTRE/tests/racer/racer.sh
13 echo racer: $racer
14
15 DURATION=${DURATION:-900}
16 [ "$SLOW" = "no" ] && DURATION=300
17 MOUNT_2=${MOUNT_2:-"yes"}
18
19 build_test_filter
20 check_and_setup_lustre
21
22 CLIENTS=${CLIENTS:-$HOSTNAME}
23 RACERDIRS=${RACERDIRS:-"$DIR $DIR2"}
24 echo RACERDIRS=$RACERDIRS
25 for d in ${RACERDIRS}; do
26         is_mounted $d || continue
27
28         RDIRS="$RDIRS $d/racer"
29         mkdir -p $d/racer
30 #       lfs setstripe $d/racer -c -1
31 done
32
33 # run racer
34 test_1() {
35     local rrc=0
36     local rc=0
37     local clients=${CLIENTS:-$(hostname)}
38
39     check_progs_installed $clients $racer || \
40         { skip_env "$racer not found" && return 0; }
41
42     local rpids=""
43     for rdir in $RDIRS; do
44         do_nodes $clients "DURATION=$DURATION $racer $rdir $NUM_RACER_THREADS" &
45         pid=$!
46         rpids="$rpids $pid"
47     done
48
49     echo racers pids: $rpids
50     for pid in $rpids; do
51         wait $pid
52         rc=$?
53         echo "pid=$pid rc=$rc"
54         if [ $rc != 0 ]; then
55             rrc=$((rrc + 1))
56         fi
57     done
58
59     return $rrc
60 }
61 run_test 1 "racer on clients: ${CLIENTS:-$(hostname)} DURATION=$DURATION"
62
63 complete $(basename $0) $SECONDS
64 check_and_cleanup_lustre
65 exit_status