X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Flarge-scale.sh;h=ccfa0c180edfb4a8585cb29666bb17556b1547e8;hb=1736c1befd27e3dacb424269ad987fe5dd480827;hp=4fba8401c8d881a01a990b7b48c2ddc9a26eb7ad;hpb=792e414c69f3888506882abedce5e06bba93f8fd;p=fs%2Flustre-release.git diff --git a/lustre/tests/large-scale.sh b/lustre/tests/large-scale.sh index 4fba840..ccfa0c1 100644 --- a/lustre/tests/large-scale.sh +++ b/lustre/tests/large-scale.sh @@ -1,4 +1,6 @@ #!/bin/bash +# -*- mode: Bash; tab-width: 4; indent-tabs-mode: t; -*- +# vim:shiftwidth=4:softtabstop=4:tabstop=4: set -e @@ -15,12 +17,13 @@ CLEANUP=${CLEANUP:-""} init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} +init_logging remote_mds_nodsh && log "SKIP: remote MDS with nodsh" && exit 0 -[ -n "$CLIENTS" ] || { skip_env "$0: Need two or more clients" && exit 0; } -[ $CLIENTCOUNT -ge 2 ] || \ - { skip_env "$0: Need two or more remote clients, have $CLIENTCOUNT" && exit 0; } +[ -z "$CLIENTS" ] && skip_env "$TESTSUITE: Need two or more clients" && exit 0 +[ $CLIENTCOUNT -lt 2 ] && + skip_env "$TESTSUITE: Need 2+ clients, have only $CLIENTCOUNT" && exit 0 # [ "$SLOW" = "no" ] && EXCEPT_SLOW="" @@ -46,7 +49,7 @@ test_3a() { # a half of clients by default increment=${INCREMENT:-$(( CLIENTCOUNT / 2 ))} - machinefile=${MACHINEFILE:-$TMP/$(basename $0 .sh).machines} + machinefile=${MACHINEFILE:-$TMP/$TESTSUITE.machines} local LOG=$TMP/${TESTSUITE}_$tfile local var=${SINGLEMDS}_svc @@ -58,7 +61,7 @@ test_3a() { local IFree=$(inodes_available) [ $IFree -gt $nfiles ] || nfiles=$IFree - local dir=$DIR/$tdir + local dir=$DIR/d0.$TESTNAME mkdir -p $dir chmod 0777 $dir @@ -68,42 +71,46 @@ test_3a() { local num=$increment - while [ $num -le $CLIENTCOUNT ]; do - list=$(comma_list ${nodes[@]:0:$num}) + while [ $num -le $CLIENTCOUNT ]; do + list=$(comma_list ${nodes[@]:0:$num}) - generate_machine_file $list $machinefile || - { error "can not generate machinefile"; exit 1; } + generate_machine_file $list $machinefile || + { error "can not generate machinefile"; exit 1; } - for i in $(seq $iters); do - mdsrate_cleanup $num $machinefile $nfiles $dir 'f%%d' --ignore + for i in $(seq $iters); do + mdsrate_cleanup $num $machinefile $nfiles $dir 'f%%d' \ + --ignore - COMMAND="${MDSRATE} --create --nfiles $nfiles --dir $dir --filefmt 'f%%d'" - mpi_run -np $((num * nthreads)) -machinefile $machinefile ${COMMAND} | tee ${LOG} & + COMMAND="${MDSRATE} --create --nfiles $nfiles --dir + $dir --filefmt 'f%%d'" + mpi_run ${MACHINEFILE_OPTION} $machinefile \ + -np $((num * nthreads)) ${COMMAND} | tee ${LOG}& - pid=$! - echo "pid=$pid" + pid=$! + echo "pid=$pid" - # 2 threads 100000 creates 117 secs - sleep 20 + # 2 threads 100000 creates 117 secs + sleep 20 - log "$i : Starting failover on $SINGLEMDS" - facet_failover $SINGLEMDS - if ! wait_recovery_complete $SINGLEMDS $((TIMEOUT * 10)); then - echo "$SINGLEMDS recovery is not completed!" - kill -9 $pid - exit 7 - fi + log "$i : Starting failover on $SINGLEMDS" + facet_failover $SINGLEMDS + if ! wait_recovery_complete $SINGLEMDS \ + $((TIMEOUT * 10)); then + echo "$SINGLEMDS recovery is not completed!" + kill -9 $pid + exit 7 + fi - duration=$(do_facet $SINGLEMDS lctl get_param -n $procfile | grep recovery_duration) - - res=( "${res[@]}" "$num" ) - res=( "${res[@]}" "$duration" ) - echo "RECOVERY TIME: NFILES=$nfiles number of clients: $num $duration" - wait $pid + duration=$(do_facet $SINGLEMDS lctl get_param -n \ + $procfile | grep recovery_duration) - done - num=$((num + increment)) - done + res=( "${res[@]}" "$num" ) + res=( "${res[@]}" "$duration" ) + echo "RECOVERY TIME: NFILES=$nfiles number of clients: $num $duration" + wait $pid + done + num=$((num + increment)) + done mdsrate_cleanup $num $machinefile $nfiles $dir 'f%%d' --ignore @@ -116,6 +123,6 @@ test_3a() { run_test 3a "recovery time, $CLIENTCOUNT clients" -equals_msg `basename $0`: test complete, cleaning up +complete $SECONDS check_and_cleanup_lustre -[ -f "$TESTSUITELOG" ] && cat $TESTSUITELOG || true +exit_status