Whamcloud - gitweb
LU-3006 utils: mount to pass/clear UPDATE flag
[fs/lustre-release.git] / lustre / tests / conf-sanity.sh
index d29fd7e..12deabb 100644 (file)
@@ -603,24 +603,25 @@ test_17() {
                return
        fi
 
-        setup
-        check_mount || return 41
-        cleanup || return $?
+       setup
+       check_mount || return 41
+       cleanup || return $?
 
-        echo "Remove mds config log"
-        if ! combined_mgs_mds ; then
-                stop mgs
-        fi
+       echo "Remove mds config log"
+       if ! combined_mgs_mds ; then
+               stop mgs
+       fi
 
-        do_facet mgs "$DEBUGFS -w -R 'unlink CONFIGS/$FSNAME-MDT0000' $MGSDEV || return \$?" || return $?
+       do_facet mgs "$DEBUGFS -w -R 'unlink CONFIGS/$FSNAME-MDT0000' \
+               $(mgsdevname) || return \$?" || return $?
 
-        if ! combined_mgs_mds ; then
-                start_mgs
-        fi
+       if ! combined_mgs_mds ; then
+               start_mgs
+       fi
 
-        start_ost
-        start_mds && return 42
-        reformat_and_config
+       start_ost
+       start_mds && return 42
+       reformat_and_config
 }
 run_test 17 "Verify failed mds_postsetup won't fail assertion (2936) (should return errs)"
 
@@ -787,16 +788,12 @@ test_21d() {
 run_test 21d "start mgs then ost and then mds"
 
 test_22() {
-       local num
-
        start_mds
 
        echo Client mount with ost in logs, but none running
        start_ost
        # wait until mds connected to ost and open client connection
-       for num in $(seq 1 $MDSCOUNT); do
-               wait_osc_import_state mds${num} ost FULL
-       done
+       wait_osc_import_state mds ost FULL
        stop_ost
        mount_client $MOUNT
        # check_mount will block trying to contact ost
@@ -816,9 +813,7 @@ test_22() {
                sleep $((TIMEOUT + TIMEOUT + TIMEOUT))
        fi
        mount_client $MOUNT
-       for num in $(seq 1 $MDSCOUNT); do
-               wait_osc_import_state mds${num} ost FULL
-       done
+       wait_osc_import_state mds ost FULL
        wait_osc_import_state client ost FULL
        check_mount || return 41
        pass
@@ -1345,8 +1340,6 @@ t32_check() {
 }
 
 t32_test_cleanup() {
-       local node=$(facet_active_host $SINGLEMDS)
-       local r="do_node $node"
        local tmp=$TMP/t32
        local rc=$?
 
@@ -1362,8 +1355,9 @@ t32_test_cleanup() {
        if $shall_cleanup_ost; then
                $r umount -d $tmp/mnt/ost || rc=$?
        fi
-       $r rm -rf $tmp || rc=$?
-       rm -rf $tmp || rc=$?
+
+       $r rm -rf $tmp
+       rm -rf $tmp
        return $rc
 }
 
@@ -1390,7 +1384,7 @@ t32_reload_modules() {
                        all_removed=true
                do_rpc_nodes $node check_mem_leak || return 1
                if $all_removed; then
-                       load_modules
+                       do_rpc_nodes $node load_modules
                        return 0
                fi
                sleep 5
@@ -1408,8 +1402,7 @@ t32_wait_til_devices_gone() {
        echo wait for devices to go
        while ((i < 20)); do
                devices=$(do_rpc_nodes $node $LCTL device_list | wc -l)
-               echo $device
-               ((devices == 0)) && return 1
+               ((devices == 0)) && return 0
                sleep 5
                i=$((i + 1))
        done
@@ -1508,7 +1501,6 @@ t32_test() {
        local node=$(facet_active_host $SINGLEMDS)
        local r="do_node $node"
        local node2=$(facet_active_host mds2)
-       local r2="do_node $node2"
        local tmp=$TMP/t32
        local img_commit
        local img_kernel
@@ -1569,21 +1561,28 @@ t32_test() {
        shall_cleanup_mdt=true
 
        if [ "$dne_upgrade" != "no" ]; then
-               echo "mkfs new MDT...."
-               add mds2 $(mkfs_opts mds2 $(mdsdevname 2) $fsname) --reformat \
-                       $(mdsdevname 2) $(mdsvdevname 2) > /dev/null || {
+               local fs2mdsdev=$(mdsdevname 1_2)
+               local fs2mdsvdev=$(mdsvdevname 1_2)
+
+               echo "mkfs new MDT on ${fs2mdsdev}...."
+               if [ $(facet_fstype mds1) == ldiskfs ]; then
+                       mkfsoptions="--mkfsoptions=\\\"-J size=8\\\""
+               fi
+
+               add fs2mds $(mkfs_opts mds2 $fs2mdsdev $fsname) --reformat \
+                          $mkfsoptions $fs2mdsdev $fs2mdsvdev > /dev/null || {
                        error_noexit "Mkfs new MDT failed"
                        return 1
                }
 
-               $r2 $TUNEFS --dryrun $(mdsdevname 2) || {
+               $r $TUNEFS --dryrun $fs2mdsdev || {
                        error_noexit "tunefs.lustre before mounting the MDT"
                        return 1
                }
 
-               echo "mount new MDT...."
-               $r2 mkdir -p $tmp/mnt/mdt1
-               $r2 mount -t lustre -o $mopts $(mdsdevname 2) $tmp/mnt/mdt1 || {
+               echo "mount new MDT....$fs2mdsdev"
+               $r mkdir -p $tmp/mnt/mdt1
+               $r mount -t lustre -o $mopts $fs2mdsdev $tmp/mnt/mdt1 || {
                        error_noexit "mount mdt1 failed"
                        return 1
                }
@@ -1655,16 +1654,16 @@ t32_test() {
        }
 
        if [ "$dne_upgrade" != "no" ]; then
-               $r2 $LCTL conf_param \
+               $r $LCTL conf_param \
                                $fsname-MDT0001.mdc.max_rpcs_in_flight=9 || {
                        error_noexit "Setting MDT1 \"max_rpcs_in_flight\""
                        return 1
                }
-               $r2 $LCTL conf_param $fsname-MDT0001.failover.node=$nid || {
+               $r $LCTL conf_param $fsname-MDT0001.failover.node=$nid || {
                        error_noexit "Setting MDT1 \"failover.node\""
                        return 1
                }
-               $r2 $LCTL conf_param $fsname-MDT0001.lov.stripesize=4M || {
+               $r $LCTL conf_param $fsname-MDT0001.lov.stripesize=4M || {
                        error_noexit "Setting MDT1 \"lov.stripesize\""
                        return 1
                }
@@ -1804,11 +1803,20 @@ t32_test() {
                }
                shall_cleanup_lustre=false
        else
+               if [ "$dne_upgrade" != "no" ]; then
+                       $r umount -d $tmp/mnt/mdt1 || {
+                               error_noexit "Unmounting the MDT2"
+                               return 1
+                       }
+                       shall_cleanup_mdt1=false
+               fi
+
                $r umount -d $tmp/mnt/mdt || {
                        error_noexit "Unmounting the MDT"
                        return 1
                }
                shall_cleanup_mdt=false
+
                $r umount -d $tmp/mnt/ost || {
                        error_noexit "Unmounting the OST"
                        return 1
@@ -2385,6 +2393,7 @@ test_42() { #bug 14693
 
        do_facet mgs $LCTL conf_param $FSNAME.sys.some_wrong_param=20
        cleanup || error "stopping $FSNAME failed with invalid sys param"
+       load_modules
        setup
        check_mount || "client was not mounted with invalid sys param"
        cleanup || error "stopping $FSNAME failed with invalid sys param"
@@ -3374,14 +3383,21 @@ test_58() { # bug 22658
        createmany -o $DIR/$tdir/$tfile-%d 100
        # make sure that OSTs do not cancel llog cookies before we unmount the MDS
 #define OBD_FAIL_OBD_LOG_CANCEL_NET      0x601
-       do_facet mds "lctl set_param fail_loc=0x601"
+       do_facet $SINGLEMDS "lctl set_param fail_loc=0x601"
        unlinkmany $DIR/$tdir/$tfile-%d 100
-       stop mds
-       local MNTDIR=$(facet_mntpt mds)
+       stop_mds
+
+       local MNTDIR=$(facet_mntpt $SINGLEMDS)
+       local devname=$(mdsdevname ${SINGLEMDS//mds/})
+       local opts=""
+       if ! do_facet $SINGLEMDS "test -b $devname"; then
+               opts="-o loop"
+       fi
+
        # remove all files from the OBJECTS dir
-       do_facet mds "mount -t ldiskfs $MDSDEV $MNTDIR"
-       do_facet mds "find $MNTDIR/OBJECTS -type f -delete"
-       do_facet mds "umount $MNTDIR"
+       do_facet $SINGLEMDS "mount -t ldiskfs $opts $devname $MNTDIR"
+       do_facet $SINGLEMDS "find $MNTDIR/O/1/d* -type f -delete"
+       do_facet $SINGLEMDS "umount $MNTDIR"
        # restart MDS with missing llog files
        start_mds
        do_facet mds "lctl set_param fail_loc=0"
@@ -3643,7 +3659,7 @@ test_66() {
        stop_mds || error "stopping mds failed"
 
        if combined_mgs_mds; then
-               start_mds "-o nosvc" ||
+               start_mdt 1 "-o nosvc" ||
                        error "starting mds with nosvc option failed"
        fi
 
@@ -3683,7 +3699,7 @@ test_66() {
 
        setup_noconfig
        check_mount || error "error after nid replace"
-       cleanup
+       cleanup || error "cleanup failed"
        reformat
 }
 run_test 66 "replace nids"
@@ -3942,10 +3958,14 @@ test_72() { #LU-2634
                skip "ldiskfs only test" && return
 
        #tune MDT with "-O extents"
-       add $SINGLEMDS \
-               $(mkfs_opts $SINGLEMDS ${mdsdev}) --reformat $mdsdev ||
-                       error "add $SINGLEMDS failed"
-       $TUNE2FS -O extents $mdsdev
+
+       for num in $(seq $MDSCOUNT); do
+               add mds${num} $(mkfs_opts mds$num $(mdsdevname $num)) \
+               --reformat $(mdsdevname $num) $(mdsvdevname $num) ||
+               error "add mds $num failed"
+               $TUNE2FS -O extents $(mdsdevname $num)
+       done
+
        add ost1 $(mkfs_opts ost1 $ostdev) --reformat $ostdev ||
                error "add $ostdev failed"
        start_mgsmds || error "start mds failed"
@@ -3971,6 +3991,21 @@ test_72() { #LU-2634
 }
 run_test 72 "test fast symlink with extents flag enabled"
 
+test_73() { #LU-3006
+       load_modules
+       do_facet ost1 "$TUNEFS --failnode=1.2.3.4@tcp $(ostdevname 1)" ||
+               error "1st tunefs failed"
+       start_mgsmds || error "start mds failed"
+       start_ost || error "start ost failed"
+       mount_client $MOUNT || error "mount client failed"
+       lctl get_param -n osc.*OST0000-osc-[^M]*.import | grep failover_nids |
+               grep 1.2.3.4@tcp || error "failover nids haven't changed"
+       umount_client $MOUNT || error "umount client failed"
+       stop_all
+       reformat
+}
+run_test 73 "failnode to update from mountdata properly"
+
 if ! combined_mgs_mds ; then
        stop mgs
 fi