Whamcloud - gitweb
Revert "b=22423 Reconnects are not throttled"
[fs/lustre-release.git] / lustre / tests / conf-sanity.sh
index f5aea1a..055302d 100644 (file)
@@ -16,6 +16,12 @@ ONLY=${ONLY:-"$*"}
 ALWAYS_EXCEPT="$CONF_SANITY_EXCEPT"
 # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
 
+if [ "$FAILURE_MODE" = "HARD" ]; then
+       CONFIG_EXCEPTIONS="24a " && \
+       echo "Except the tests: $CONFIG_EXCEPTIONS for FAILURE_MODE=$FAILURE_MODE, bug 23573" && \
+       ALWAYS_EXCEPT="$ALWAYS_EXCEPT $CONFIG_EXCEPTIONS"
+fi
+
 SRCDIR=`dirname $0`
 PATH=$PWD/$SRCDIR:$SRCDIR:$SRCDIR/../utils:$PATH
 
@@ -60,14 +66,16 @@ writeconf1() {
        stop ${facet} -f
        rm -f ${facet}active
        # who knows if/where $TUNEFS is installed?  Better reformat if it fails...
-       do_facet ${facet} "$TUNEFS --writeconf $dev" ||
+       do_facet ${facet} "$TUNEFS --quiet --writeconf $dev" ||
                { echo "tunefs failed, reformatting instead" && reformat_and_config && return 1; }
        return 0
 }
 
 writeconf() {
-       # if writeconf failed, we reformatted
-       writeconf1 mds $MDSDEV || return 0
+       # we need ldiskfs
+       load_modules
+       # if writeconf fails anywhere, we reformat everything
+       writeconf1 mds `mdsdevname 1` || return 0
        writeconf1 ost1 `ostdevname 1` || return 0
        writeconf1 ost2 `ostdevname 2` || return 0
 }
@@ -92,7 +100,7 @@ reformat_and_config() {
 
 start_mgs () {
        echo "start mgs"
-       start mgs $MGSDEV $mgs_MOUNT_OPTS
+       start mgs $MGSDEV $MGS_MOUNT_OPTS
 }
 
 start_mds() {
@@ -1366,21 +1374,19 @@ test_35b() { # bug 18674
                at_max_set 0 mds client
        fi
 
-       mkdir -p $MOUNT/$tdir
+       mkdir -p $MOUNT/testdir
+       touch $MOUNT/testdir/test
 
        log "Injecting EBUSY on MDS"
        # Setting OBD_FAIL_MDS_RESEND=0x136
        do_facet mds "$LCTL set_param fail_loc=0x80000136" || return 2
 
-       $LCTL set_param mdc.${FSNAME}*.stats=clear
-
-       log "Creating a test file and stat it"
-       touch $MOUNT/$tdir/$tfile
-       stat $MOUNT/$tdir/$tfile
+       log "Stat on a test file"
+       stat $MOUNT/testdir/test
 
        log "Stop injecting EBUSY on MDS"
        do_facet mds "$LCTL set_param fail_loc=0" || return 3
-       rm -f $MOUNT/$tdir/$tfile
+       rm -f $MOUNT/testdir/test
 
        log "done"
        # restore adaptive timeout
@@ -1388,8 +1394,6 @@ test_35b() { # bug 18674
 
        $LCTL dk $TMP/lustre-log-$TESTNAME.log
 
-       CONNCNT=`$LCTL get_param mdc.${FSNAME}*.stats | awk '/mds_connect/{print $2}'`
-
        # retrieve from the log if the client has ever tried to
        # contact the fake server after the loss of connection
        FAILCONN=`awk "BEGIN {ret = 0;}
@@ -1409,12 +1413,6 @@ test_35b() { # bug 18674
                log "ERROR: The client tried to reconnect to the failover server while the primary was busy" && \
                return 5
 
-       # When OBD_FAIL_MDS_RESEND is hit, we sleep for 2 * obd_timeout
-        # Reconnects are supposed to be rate limited to one every 5s
-       [ $CONNCNT -gt $((2 * $TIMEOUT / 5 + 1)) ] && \
-               log "ERROR: Too many reconnects $CONNCNT" && \
-               return 6
-
         cleanup
        # remove nid settings
        writeconf
@@ -2491,13 +2489,10 @@ test_56() {
 run_test 56 "check big indexes"
 
 test_57() { # bug 22656
-       local NID=$($LCTL list_nids | head -1)
+       local NID=$(do_facet ost1 "$LCTL get_param nis" | tail -1 | awk '{print $1}')
        writeconf
        do_facet ost1 "$TUNEFS --failnode=$NID `ostdevname 1`" || error "tunefs failed"
-       if ! combined_mgs_mds ; then
-               start_mgs
-       fi
-       start_mds
+       start_mgsmds
        start_ost && error "OST registration from failnode should fail"
        stop_mds
        reformat