Whamcloud - gitweb
LU-15471 tests: use propper facet device 54/46254/2
authorElena Gryaznova <elena.gryaznova@hpe.com>
Fri, 21 Jan 2022 15:59:14 +0000 (18:59 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 31 Jan 2022 01:37:04 +0000 (01:37 +0000)
Tests which stop facet are to recalculate facet device
after stop as it changes when device mapper is used:
the device-mapper device is removed and facet device is
restored:
  stop () ->
     elif dm_flakey_supported $facet; then
        if [[ -n ${!failover_host} && ${!failover_host} != ${!host} ]]
           dm_cleanup_dev $facet ->
              unexport_dm_dev $facet

Without this fix sanity 17m, 17n 804 tests fail on failover
setup with:
  Cannot resolve path /dev/mapper/mds1_flakey
  e2fsck: No such file or directory while trying
                     to open /dev/mapper/mds1_flakey
and sanity 228b, 256, tests fail because of:
  mount: /dev/mapper/mds1_flakey: failed to setup loop device:
                     No such file or directory
  losetup: /dev/mapper/mds1_flakey: failed to set up loop device

To reproduce the failures -- just run:
  ONLY="17m 17n 228b 256 804" sh sanity.sh
on failover setup where mds1_HOST != mds1failover_HOST.

Fixes: 54b9e3f789 ("LU-684 tests: replace dev_read_only patch with dm-flakey")
Test-Parameters: trivial testlist=sanity
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-9808
Change-Id: I02ce9d7cb7cf804fe0596d9aad7f995242c4b3af
Reviewed-on: https://review.whamcloud.com/46254
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vladimir Saveliev <vlaidimir.saveliev@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/tests/sanity.sh

index fdc9d84..aaf7c99 100755 (executable)
@@ -719,11 +719,11 @@ test_17m() {
        done
 
        local mds_index=$(($($LFS getstripe -m $wdir) + 1))
-       local devname=$(mdsdevname $mds_index)
 
        echo "stop and checking mds${mds_index}:"
        # e2fsck should not return error
        stop mds${mds_index}
+       local devname=$(mdsdevname $mds_index)
        run_e2fsck $(facet_active_host mds${mds_index}) $devname -n
        rc=$?
 
@@ -743,9 +743,9 @@ check_fs_consistency_17n() {
        # create/unlink in 17n only change 2 MDTs(MDT1/MDT2),
        # so it only check MDT1/MDT2 instead of all of MDTs.
        for mdt_index in 1 2; do
-               local devname=$(mdsdevname $mdt_index)
                # e2fsck should not return error
                stop mds${mdt_index}
+               local devname=$(mdsdevname $mdt_index)
                run_e2fsck $(facet_active_host mds$mdt_index) $devname -n ||
                        rc=$((rc + $?))
 
@@ -19469,7 +19469,8 @@ test_228b() {
        # stop the MDT
        stop $SINGLEMDS || error "Fail to stop MDT."
        # remount the MDT
-       start $SINGLEMDS $MDT_DEV $MDS_MOUNT_OPTS || error "Fail to start MDT."
+       start $SINGLEMDS $(facet_device $SINGLEMDS) $MDS_MOUNT_OPTS ||
+               error "Fail to start MDT."
 
        df $MOUNT || error "Fail to df."
        # Create new files, idle OI blocks should be reused.
@@ -21825,13 +21826,13 @@ test_256() {
        local cat_sl
        local mdt_dev
 
-       mdt_dev=$(mdsdevname 1)
+       mdt_dev=$(facet_device $SINGLEMDS)
        echo $mdt_dev
 
        changelog_register || error "changelog_register failed"
 
        rm -rf $DIR/$tdir
-       mkdir_on_mdt0 $DIR/$tdir
+       mkdir_on_mdt -i$(($(facet_number $SINGLEMDS) - 1)) $DIR/$tdir
 
        changelog_clear 0 || error "changelog_clear failed"
 
@@ -21842,8 +21843,8 @@ test_256() {
        stop $SINGLEMDS || error "Fail to stop MDT"
 
        # remount the MDT
-
-       start $SINGLEMDS $mdt_dev $MDS_MOUNT_OPTS || error "Fail to start MDT"
+       start $SINGLEMDS $(facet_device $SINGLEMDS) $MDS_MOUNT_OPTS ||
+               error "Fail to start MDT"
 
        #after mount new plainllog is used
        touch $DIR/$tdir/{11..19}
@@ -27226,10 +27227,10 @@ test_804() {
                error "Fail to rm $DIR/$tdir/dir0"
 
        for idx in $(seq $MDSCOUNT); do
-               dev=$(mdsdevname $idx)
                rc=0
 
                stop mds${idx}
+               dev=$(mdsdevname $idx)
                run_e2fsck $(facet_active_host mds$idx) $dev -n ||
                        rc=$?
                start mds${idx} $dev $MDS_MOUNT_OPTS ||