Whamcloud - gitweb
LU-2687 test: add b2_4 zfs image for conf-sanity test_32a 93/7193/17
authorWei Liu <wei3.liu@intel.com>
Mon, 22 Jul 2013 22:07:08 +0000 (15:07 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 20 Feb 2014 03:11:54 +0000 (03:11 +0000)
In order to ensure that we do not break ZFS upgrades
in the future, add 2.4.0 zfs filesystem test image for
conf-sanity.sh test_32a.

Test-Parameters: mdtfilesystemtype=zfs \
ostfilesystemtype=zfs mdsfilesystemtype=zfs \
envdefinitions=SLOW=yes testlist=conf-sanity

Change-Id: Iae560e05b428907409dc7069d30b601b52750cca
Signed-off-by: Wei Liu <wei3.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/7193
Tested-by: Jenkins
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Minh Diep <minh.diep@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/tests/Makefile.am
lustre/tests/conf-sanity.sh
lustre/tests/disk2_4-zfs.tar.bz2 [new file with mode: 0644]

index 13e8169..c121790 100644 (file)
@@ -10,6 +10,7 @@ DIST_SUBDIRS = mpi
 
 noinst_DATA = disk1_8-ldiskfs.tar.bz2 disk2_1-ldiskfs.tar.bz2
 noinst_DATA += disk2_3-ldiskfs.tar.bz2 disk2_4-ldiskfs.tar.bz2
+noinst_DATA += disk2_4-zfs.tar.bz2
 noinst_DATA += admin_quotafile_v2.usr admin_quotafile_v2.grp
 noinst_SCRIPTS = leak_finder.pl llmount.sh llmountcleanup.sh functions.sh
 noinst_SCRIPTS += test-framework.sh runvmstat runiozone runtests sanity.sh
index 1f00d34..dc753df 100644 (file)
@@ -1407,6 +1407,7 @@ t32_check() {
 
 t32_test_cleanup() {
        local tmp=$TMP/t32
+       local fstype=$(facet_fstype $SINGLEMDS)
        local rc=$?
 
        if $shall_cleanup_lustre; then
@@ -1424,6 +1425,10 @@ t32_test_cleanup() {
 
        $r rm -rf $tmp
        rm -rf $tmp
+       if [ $fstype == "zfs" ]; then
+               $r $ZPOOL destroy t32fs-mdt1 || rc=$?
+               $r $ZPOOL destroy t32fs-ost1 || rc=$?
+       fi
        return $rc
 }
 
@@ -1586,6 +1591,8 @@ t32_test() {
        local nrpcs
        local list
        local fstype=$(facet_fstype $SINGLEMDS)
+       local mdt_dev=$tmp/mdt
+       local ost_dev=$tmp/ost
 
        trap 'trap - RETURN; t32_test_cleanup' RETURN
 
@@ -1608,17 +1615,31 @@ t32_test() {
        local version=$(version_code $img_commit)
        [[ $version -gt $(version_code 2.4.0) ]] && ff_convert="no"
 
+       if [ $fstype == "zfs" ]; then
+               # import pool first
+               $r $ZPOOL import -f -d $tmp t32fs-mdt1
+               $r $ZPOOL import -f -d $tmp t32fs-ost1
+               mdt_dev=t32fs-mdt1/mdt1
+               ost_dev=t32fs-ost1/ost1
+               wait_update_facet $SINGLEMDS "$ZPOOL list |
+                       awk '/^t32fs-mdt1/ { print \\\$1 }'" "t32fs-mdt1" || {
+                               error_noexit "import zfs pool failed"
+                               return 1
+                       }
+       fi
+
        $r $LCTL set_param debug="$PTLDEBUG"
 
-       $r $TUNEFS --dryrun $tmp/mdt || {
+       $r $TUNEFS --dryrun $mdt_dev || {
                $r losetup -a
                error_noexit "tunefs.lustre before mounting the MDT"
                return 1
        }
        if [ "$writeconf" ]; then
-               mopts=loop,writeconf
+               mopts=writeconf
                if [ $fstype == "ldiskfs" ]; then
-                       $r $TUNEFS --quota $tmp/mdt || {
+                       mopts="loop,$mopts"
+                       $r $TUNEFS --quota $mdt_dev || {
                                $r losetup -a
                                error_noexit "Enable mdt quota feature"
                                return 1
@@ -1633,18 +1654,25 @@ t32_test() {
                        local osthost=$(facet_active_host ost1)
                        local ostnid=$(do_node $osthost $LCTL list_nids | head -1)
 
-                       $r mount -t lustre -o loop,nosvc $tmp/mdt $tmp/mnt/mdt
+                       mopts=nosvc
+                       if [ $fstype == "ldiskfs" ]; then
+                               mopts="loop,$mopts"
+                       fi
+                       $r mount -t lustre -o $mopts $mdt_dev $tmp/mnt/mdt
                        $r lctl replace_nids $fsname-OST0000 $ostnid
                        $r lctl replace_nids $fsname-MDT0000 $nid
                        $r umount -d $tmp/mnt/mdt
                fi
 
-               mopts=loop,exclude=$fsname-OST0000
+               mopts=exclude=$fsname-OST0000
+               if [ $fstype == "ldiskfs" ]; then
+                       mopts="loop,$mopts"
+               fi
        fi
 
        t32_wait_til_devices_gone $node
 
-       $r mount -t lustre -o $mopts $tmp/mdt $tmp/mnt/mdt || {
+       $r mount -t lustre -o $mopts $mdt_dev $tmp/mnt/mdt || {
                $r losetup -a
                error_noexit "Mounting the MDT"
                return 1
@@ -1689,23 +1717,27 @@ t32_test() {
                return 1
        fi
 
-       $r $TUNEFS --dryrun $tmp/ost || {
+       $r $TUNEFS --dryrun $ost_dev || {
                error_noexit "tunefs.lustre before mounting the OST"
                return 1
        }
        if [ "$writeconf" ]; then
-               mopts=loop,mgsnode=$nid,$writeconf
+               mopts=mgsnode=$nid,$writeconf
                if [ $fstype == "ldiskfs" ]; then
-                       $r $TUNEFS --quota $tmp/ost || {
+                       mopts="loop,$mopts"
+                       $r $TUNEFS --quota $ost_dev || {
                                $r losetup -a
                                error_noexit "Enable ost quota feature"
                                return 1
                        }
                fi
        else
-               mopts=loop,mgsnode=$nid
+               mopts=mgsnode=$nid
+               if [ $fstype == "ldiskfs" ]; then
+                       mopts="loop,$mopts"
+               fi
        fi
-       $r mount -t lustre -o $mopts $tmp/ost $tmp/mnt/ost || {
+       $r mount -t lustre -o $mopts $ost_dev $tmp/mnt/ost || {
                error_noexit "Mounting the OST"
                return 1
        }
@@ -1945,13 +1977,17 @@ t32_test() {
                }
 
                # mount a second time to make sure we didnt leave upgrade flag on
-               $r $TUNEFS --dryrun $tmp/mdt || {
+               $r $TUNEFS --dryrun $mdt_dev || {
                        $r losetup -a
                        error_noexit "tunefs.lustre before remounting the MDT"
                        return 1
                }
-               $r mount -t lustre -o loop,exclude=$fsname-OST0000 $tmp/mdt \
-                                $tmp/mnt/mdt || {
+
+               mopts=exclude=$fsname-OST0000
+               if [ $fstype == "ldiskfs" ]; then
+                       mopts="loop,$mopts"
+               fi
+               $r mount -t lustre -o $mopts $mdt_dev $tmp/mnt/mdt || {
                        error_noexit "Remounting the MDT"
                        return 1
                }
diff --git a/lustre/tests/disk2_4-zfs.tar.bz2 b/lustre/tests/disk2_4-zfs.tar.bz2
new file mode 100644 (file)
index 0000000..289d7de
Binary files /dev/null and b/lustre/tests/disk2_4-zfs.tar.bz2 differ