diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 207d1155aece7d97eb18e9c8c776fcdfd3f25d5b..3cc24152b983c2c226d03d45315f4aef84eb0b8f 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -901,7 +901,7 @@ run_test 25 "Verify modules are referenced" test_26() { load_modules # we need modules before mount for sysctl, so make sure... - [ -z "$(lsmod | grep lustre)" ] && modprobe lustre + do_facet mds "lsmod | grep -q lustre || modprobe lustre" #define OBD_FAIL_MDS_FS_SETUP 0x135 do_facet mds "sysctl -w lustre.fail_loc=0x80000135" start_mds && echo MDS started && return 1 @@ -913,11 +913,12 @@ test_26() { run_test 26 "MDT startup failure cleans LOV (should return errs)" set_and_check() { - local TEST=$1 - local PARAM=$2 - local ORIG=$($TEST) - if [ $# -gt 2 ]; then - local FINAL=$3 + local myfacet=$1 + local TEST=$2 + local PARAM=$3 + local ORIG=$(do_facet $myfacet "$TEST") + if [ $# -gt 3 ]; then + local FINAL=$4 else local -i FINAL FINAL=$(($ORIG + 5)) @@ -929,7 +930,7 @@ set_and_check() { local WAIT=0 while [ 1 ]; do sleep 5 - RESULT=$($TEST) + RESULT=$(do_facet $myfacet "$TEST") if [ $RESULT -eq $FINAL ]; then echo "Updated config after $WAIT sec (got $RESULT)" break @@ -948,7 +949,7 @@ test_27a() { start_mds || return 2 echo "Requeue thread should have started: " ps -e | grep ll_cfg_requeue - set_and_check "cat $LPROC/obdfilter/$FSNAME-OST0000/client_cache_seconds" "$FSNAME-OST0000.ost.client_cache_seconds" || return 3 + set_and_check ost1 "cat $LPROC/obdfilter/$FSNAME-OST0000/client_cache_seconds" "$FSNAME-OST0000.ost.client_cache_seconds" || return 3 cleanup_nocli } run_test 27a "Reacquire MGS lock if OST started first" @@ -956,8 +957,8 @@ run_test 27a "Reacquire MGS lock if OST started first" test_27b() { setup facet_failover mds - set_and_check "cat $LPROC/mds/$FSNAME-MDT0000/group_acquire_expire" "$FSNAME-MDT0000.mdt.group_acquire_expire" || return 3 - set_and_check "cat $LPROC/mdc/$FSNAME-MDT0000-mdc-*/max_rpcs_in_flight" "$FSNAME-MDT0000.mdc.max_rpcs_in_flight" || return 4 + set_and_check mds "cat $LPROC/mds/$FSNAME-MDT0000/group_acquire_expire" "$FSNAME-MDT0000.mdt.group_acquire_expire" || return 3 + set_and_check client "cat $LPROC/mdc/$FSNAME-MDT0000-mdc-*/max_rpcs_in_flight" "$FSNAME-MDT0000.mdc.max_rpcs_in_flight" || return 4 cleanup } run_test 27b "Reacquire MGS lock after failover" @@ -968,8 +969,8 @@ test_28() { ORIG=$($TEST) declare -i FINAL FINAL=$(($ORIG + 10)) - set_and_check "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3 - set_and_check "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3 + set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3 + set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" || return 3 umount_client $MOUNT || return 200 mount_client $MOUNT RESULT=$($TEST) @@ -999,7 +1000,7 @@ test_29() { fi ACTV=$(cat $PROC_ACT) DEAC=$((1 - $ACTV)) - set_and_check "cat $PROC_ACT" "$PARAM" $DEAC || return 2 + set_and_check client "cat $PROC_ACT" "$PARAM" $DEAC || return 2 # also check ost_server_uuid status RESULT=$(grep DEACTIV $PROC_UUID) if [ -z "$RESULT" ]; then @@ -1011,15 +1012,14 @@ test_29() { # check MDT too local MPROC="$LPROC/osc/$FSNAME-OST0001-osc/active" - if [ -r $MPROC ]; then - RESULT=$(cat $MPROC) - if [ $RESULT -ne $DEAC ]; then - echo "MDT not deactivated: $(cat $MPROC)" - return 4 - fi - echo "MDT deactivated also" + RESULT=`do_facet mds " [ -r $MPROC ] && cat $MPROC"` + [ ${PIPESTATUS[0]} = 0 ] || error "Can't read $MPROC" + if [ $RESULT -ne $DEAC ]; then + echo "MDT not deactivated: $RESULT" + return 4 + else + echo "MDT deactivated: also" fi - # test new client starts deactivated umount_client $MOUNT || return 200 mount_client $MOUNT @@ -1032,7 +1032,7 @@ test_29() { fi # make sure it reactivates - set_and_check "cat $PROC_ACT" "$PARAM" $ACTV || return 6 + set_and_check client "cat $PROC_ACT" "$PARAM" $ACTV || return 6 umount_client $MOUNT stop_ost2 @@ -1050,13 +1050,13 @@ test_30() { TEST="cat $LPROC/llite/$FSNAME-*/max_read_ahead_whole_mb" ORIG=$($TEST) for i in $(seq 1 20); do - set_and_check "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" $i || return 3 + set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" $i || return 3 done # make sure client restart still works umount_client $MOUNT mount_client $MOUNT || return 4 [ "$($TEST)" -ne "$i" ] && return 5 - set_and_check "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" $ORIG || return 6 + set_and_check client "$TEST" "$FSNAME.llite.max_read_ahead_whole_mb" $ORIG || return 6 cleanup } run_test 30 "Big config llog" @@ -1069,6 +1069,11 @@ test_31() { # bug 10734 run_test 31 "Connect to non-existent node (shouldn't crash)" test_32a() { + # XXX - make this run on client-only systems with real hardware on + # the OST and MDT + # there appears to be a lot of assumption here about loopback + # devices + # or maybe this test is just totally useless on a client-only system [ -z "$TUNEFS" ] && echo "No tunefs" && return [ ! -r disk1_4.zip ] && echo "Cant find disk1_4.zip, skipping" && return unzip -o -j -d $TMP/$tdir disk1_4.zip || { echo "Cant unzip disk1_4, skipping" && return ; } @@ -1113,6 +1118,11 @@ test_32a() { run_test 32a "Upgrade from 1.4 (not live)" test_32b() { + # XXX - make this run on client-only systems with real hardware on + # the OST and MDT + # there appears to be a lot of assumption here about loopback + # devices + # or maybe this test is just totally useless on a client-only system [ -z "$TUNEFS" ] && echo "No tunefs" && return [ ! -r disk1_4.zip ] && echo "Cant find disk1_4.zip, skipping" && return unzip -o -j -d $TMP/$tdir disk1_4.zip || { echo "Cant unzip disk1_4, skipping" && return ; } @@ -1144,7 +1154,7 @@ test_32b() { # a fully-functioning client echo "Check client and old fs contents" mount_client $MOUNT - set_and_check "cat $LPROC/mdc/*/max_rpcs_in_flight" "lustre-MDT0000.mdc.max_rpcs_in_flight" || return 11 + set_and_check client "cat $LPROC/mdc/*/max_rpcs_in_flight" "lustre-MDT0000.mdc.max_rpcs_in_flight" || return 11 [ "$(cksum $MOUNT/passwd | cut -d' ' -f 1,2)" == "2479747619 779" ] || return 12 echo "ok."