X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Ftests%2Fconf-sanity.sh;h=6e272a18d4cb70c9f4e762e73ba72b118839911a;hp=d3a515a5e0ed45787085056d60c8c14ffe385a9e;hb=c7ed812d6a87f0ffa3c0d4c1a9289497f680ccec;hpb=1385dbf8b9caedca7bb32f35db1529e4d5c52d4f diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index d3a515a..6e272a1 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -23,10 +23,6 @@ is_sles11() # LU-2181 return 1 } -if is_sles11; then # LU-2181 - ALWAYS_EXCEPT="$ALWAYS_EXCEPT 23a 34b" -fi - if [ "$FAILURE_MODE" = "HARD" ]; then CONFIG_EXCEPTIONS="24a " && echo "Except the tests: $CONFIG_EXCEPTIONS for " \ @@ -68,8 +64,12 @@ OSTDEV1_2=$fs2ost_DEV OSTDEV2_2=$fs3ost_DEV if ! combined_mgs_mds; then - # bug number for skipped test: 23954 - ALWAYS_EXCEPT="$ALWAYS_EXCEPT 24b" + # bug number for skipped test: LU-9860 LU-9860 LU-9860 + ALWAYS_EXCEPT="$ALWAYS_EXCEPT 43b 53b 54b" + # bug number for skipped test: LU-9875 LU-9879 LU-9879 LU-9879 LU-9879 + ALWAYS_EXCEPT="$ALWAYS_EXCEPT 70e 80 84 87 100" + # bug number for skipped test: LU-8110 LU-9879 LU-9879 LU-9879 + ALWAYS_EXCEPT="$ALWAYS_EXCEPT 102 104 105 107" fi # pass "-E lazy_itable_init" to mke2fs to speed up the formatting time @@ -255,7 +255,9 @@ cleanup_nocli() { } cleanup() { - umount_client $MOUNT || return 200 + local force="" + [ "x$1" != "x" ] && force='-f' + umount_client $MOUNT $force|| return 200 cleanup_nocli || return $? } @@ -487,7 +489,7 @@ run_test 5e "delayed connect, don't crash (bug 10268)" test_5f() { if combined_mgs_mds ; then - skip "combined mgs and mds" + skip "needs separate mgs and mds" return 0 fi @@ -608,7 +610,7 @@ is_blkdev () { test_17() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -637,7 +639,7 @@ run_test 17 "Verify failed mds_postsetup won't fail assertion (2936) (should ret test_18() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -960,9 +962,10 @@ test_24a() { local fs2ostdev=$(ostdevname 1_2) local fs2mdsvdev=$(mdsvdevname 1_2) local fs2ostvdev=$(ostvdevname 1_2) + local cl_user - # test 8-char fsname as well - local FSNAME2=test1234 + # LU-9733 test fsname started with numbers as well + local FSNAME2=969362ae add fs2mds $(mkfs_opts mds1 ${fs2mdsdev} ) --nomgs --mgsnode=$MGSNID \ --fsname=${FSNAME2} --reformat $fs2mdsdev $fs2mdsvdev || exit 10 @@ -975,6 +978,15 @@ test_24a() { start fs2ost $fs2ostdev $OST_MOUNT_OPTS mkdir -p $MOUNT2 || error "mkdir $MOUNT2 failed" $MOUNT_CMD $MGSNID:/${FSNAME2} $MOUNT2 || error "$MOUNT_CMD failed" + + # LU-9733 test fsname started with numbers + cl_user=$(do_facet $SINGLEMDS lctl --device $FSNAME2-MDT0000 \ + changelog_register -n) || + error "register changelog failed" + + do_facet $SINGLEMDS lctl --device $FSNAME2-MDT0000 \ + changelog_deregister $cl_user || + error "deregister changelog failed" # 1 still works check_mount || error "check_mount failed" # files written on 1 should not show up on 2 @@ -1183,7 +1195,7 @@ test_28a() { # LU-4221 run_test 28a "set symlink parameters permanently with conf_param" test_29() { - [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return + [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >= 2 OSTs" && return setup > /dev/null 2>&1 start_ost2 || error "Unable to start OST2" sleep 10 @@ -1677,6 +1689,7 @@ t32_test() { local tarball=$1 local writeconf=$2 local dne_upgrade=${dne_upgrade:-"no"} + local dom_upgrade=${dom_upgrade:-"no"} local ff_convert=${ff_convert:-"no"} local shall_cleanup_mdt=false local shall_cleanup_mdt1=false @@ -2013,11 +2026,6 @@ t32_test() { shall_cleanup_lustre=true $r $LCTL set_param debug="$PTLDEBUG" - t32_verify_quota $node $fsname $tmp/mnt/lustre || { - error_noexit "verify quota failed" - return 1 - } - if $r test -f $tmp/list; then # # There is not a Test Framework API to copy files to or @@ -2069,6 +2077,43 @@ t32_test() { echo "list verification skipped" fi + if [ "$dom_upgrade" != "no" ]; then + echo "Check DoM file can be created" + $LFS setstripe -E 1M -L mdt -E EOF $tmp/mnt/lustre/dom || { + error_noexit "Verify DoM creation" + return 1 + } + [ $($LFS getstripe -L $tmp/mnt/lustre/dom) == 100 ] || { + error_noexit "Verify a DoM file" + return 1 + } + dd if=/dev/urandom of=$tmp/mnt/lustre/dom bs=4096 \ + count=1 conv=fsync || { + error_noexit "Cannot write to DoM file" + return 1 + } + [ $(stat -c%s $tmp/mnt/lustre/dom) == 4096 ] || { + error_noexit "DoM: bad size after write" + return 1 + } + rm $tmp/mnt/lustre/dom + + $r $LCTL get_param -n lod.*MDT0000*.dom_stripesize || { + error_noexit "Getting \"dom_stripesize\"" + return 1 + } + $r $LCTL conf_param \ + $fsname-MDT0000.lod.dom_stripesize=0 || { + error_noexit "Changing \"dom_stripesize\"" + return 1 + } + wait_update $(facet_host mds) "$LCTL get_param \ + -n lod.*MDT0000*.dom_stripesize" 0 || { + error_noexit "Verifying \"dom_stripesize\"" + return 1 + } + fi + if [ "$dne_upgrade" != "no" ]; then $LFS mkdir -i 1 -c2 $tmp/mnt/lustre/striped_dir || { error_noexit "set striped dir failed" @@ -2373,6 +2418,21 @@ test_32d() { } run_test 32d "convert ff test" +test_32e() { + local tarballs + local tarball + local rc=0 + + t32_check + for tarball in $tarballs; do + echo $tarball | grep "2_9" || continue + #load_modules + dom_upgrade=yes t32_test $tarball writeconf || let "rc += $?" + done + return $rc +} +run_test 32e "dom upgrade test" + test_33a() { # bug 12333, was test_33 local FSNAME2=test-123 local MDSDEV=$(mdsdevname ${SINGLEMDS//mds/}) @@ -2397,15 +2457,20 @@ test_33a() { # bug 12333, was test_33 mkfsoptions="--mkfsoptions=\\\"-J size=8\\\"" # See bug 17931. fi - add fs2mds $(mkfs_opts mds1 ${fs2mdsdev}) --mgs --fsname=${FSNAME2} \ - --reformat $mkfsoptions $fs2mdsdev $fs2mdsvdev || exit 10 + if combined_mgs_mds; then + local mgs_flag="--mgs" + fi + + add fs2mds $(mkfs_opts mds1 ${fs2mdsdev}) --fsname=${FSNAME2} \ + --reformat $mgs_flag $mkfsoptions $fs2mdsdev $fs2mdsvdev || + exit 10 add fs2ost $(mkfs_opts ost1 ${fs2ostdev}) --mgsnode=$MGSNID \ --fsname=${FSNAME2} --index=8191 --reformat $fs2ostdev \ $fs2ostvdev || exit 10 start fs2mds $fs2mdsdev $MDS_MOUNT_OPTS && trap cleanup_fs2 EXIT INT start fs2ost $fs2ostdev $OST_MOUNT_OPTS - do_facet $SINGLEMDS "$LCTL conf_param $FSNAME2.sys.timeout=200" || + do_facet mgs "$LCTL conf_param $FSNAME2.sys.timeout=200" || error "$LCTL conf_param $FSNAME2.sys.timeout=200 failed" mkdir -p $MOUNT2 || error "mkdir $MOUNT2 failed" $MOUNT_CMD $MGSNID:/${FSNAME2} $MOUNT2 || error "$MOUNT_CMD failed" @@ -2607,7 +2672,7 @@ test_35b() { # bug 18674 run_test 35b "Continue reconnection retries, if the active server is busy" test_36() { # 12743 - [ $OSTCOUNT -lt 2 ] && skip_env "skipping test for single OST" && return + [ $OSTCOUNT -lt 2 ] && skip_env "needs >= 2 OSTs" && return [ "$ost_HOST" = "`hostname`" -o "$ost1_HOST" = "`hostname`" ] || { skip "remote OST" && return 0; } @@ -2696,7 +2761,7 @@ test_37() { local rc=0 if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Currently only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -2880,7 +2945,7 @@ test_41b() { echo "blah blah" > $MOUNT/$tfile cat $MOUNT/$tfile || error "cat $MOUNT/$tfile failed" - umount_client $MOUNT || error "umount_client $MOUNT failed" + umount_client $MOUNT -f || error "umount_client $MOUNT failed" stop_ost || error "Unable to stop OST1" stop_mds || error "Unable to stop MDS" stop_mds || error "Unable to stop MDS on second try" @@ -3674,7 +3739,7 @@ test_50f() { run_test 50f "normal statfs one server in down" test_50g() { - [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return + [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >=2 OSTs" && return setup start_ost2 || error "Unable to start OST2" wait_osc_import_state mds ost2 FULL @@ -3705,7 +3770,7 @@ run_test 50g "deactivated OST should not cause panic" # LU-642 test_50h() { # prepare MDT/OST, make OSC inactive for OST1 - [ "$OSTCOUNT" -lt "2" ] && skip_env "$OSTCOUNT < 2, skipping" && return + [ "$OSTCOUNT" -lt "2" ] && skip_env "needs >=2 OSTs" && return [ $(facet_fstype ost1) == zfs ] && import_zpool ost1 do_facet ost1 "$TUNEFS --param osc.active=0 `ostdevname 1`" || @@ -3743,7 +3808,7 @@ run_test 50h "LU-642: activate deactivated OST" test_50i() { # prepare MDT/OST, make OSC inactive for OST1 - [ "$MDSCOUNT" -lt "2" ] && skip_env "$MDSCOUNT < 2, skipping" && return + [ "$MDSCOUNT" -lt "2" ] && skip_env "needs >= 2 MDTs" && return load_modules [ $(facet_fstype mds2) == zfs ] && import_zpool mds2 @@ -3876,7 +3941,7 @@ diff_files_xattrs() test_52() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4095,7 +4160,7 @@ run_test 53b "check MDS thread count params" test_54a() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4107,7 +4172,7 @@ run_test 54a "test llverdev and partial verify of device" test_54b() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4125,7 +4190,7 @@ lov_objid_size() test_55() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4169,9 +4234,7 @@ test_56a() { MDSJOURNALSIZE=16 - for num in $(seq 1 $MDSCOUNT); do - format_mdt $num - done + formatall add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \ $(ostdevname 1) $(ostvdevname 1) add ost2 $(mkfs_opts ost2 $(ostdevname 2)) --index=1000 --reformat \ @@ -4395,7 +4458,7 @@ test_60() { # LU-471 local num if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4505,7 +4568,7 @@ run_test 61 "large xattr" test_62() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4529,7 +4592,7 @@ run_test 62 "start with disabled journal" test_63() { if [ $(facet_fstype $SINGLEMDS) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based MDTs" + skip "ldiskfs only test" return fi @@ -4573,7 +4636,7 @@ run_test 64 "check lfs df --lazy " test_65() { # LU-2237 # Currently, the test is only valid for ldiskfs backend [ "$(facet_fstype $SINGLEMDS)" != "ldiskfs" ] && - skip "non-ldiskfs backend" && return + skip "ldiskfs only test" && return local devname=$(mdsdevname ${SINGLEMDS//mds/}) local brpt=$(facet_mntpt brpt) @@ -5014,6 +5077,7 @@ test_70e() { soc=$(do_facet mds1 "$LCTL get_param -n \ mdt.*MDT0000.sync_lock_cancel") [ $soc == "never" ] || error "SoC enabled on single MDS" + umount_client $MOUNT -f > /dev/null cleanup || error "cleanup failed with $?" } @@ -5438,7 +5502,7 @@ run_test 77 "comma-separated MGS NIDs and failover node NIDs" test_78() { [[ $(facet_fstype $SINGLEMDS) != ldiskfs || $(facet_fstype ost1) != ldiskfs ]] && - skip "only applicable to ldiskfs-based MDTs and OSTs" && return + skip "ldiskfs only test" && return # reformat the Lustre filesystem with a smaller size local saved_MDSCOUNT=$MDSCOUNT @@ -5697,7 +5761,7 @@ restore_ostindex() { test_81() { # LU-4665 [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] || { skip "Need MDS version at least 2.6.54" && return; } - [[ $OSTCOUNT -ge 3 ]] || { skip_env "Need at least 3 OSTs" && return; } + [[ $OSTCOUNT -ge 3 ]] || { skip_env "needs >= 3 OSTs" && return; } stopall @@ -5759,7 +5823,7 @@ run_test 81 "sparse OST indexing" test_82a() { # LU-4665 [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] || { skip "Need MDS version at least 2.6.54" && return; } - [[ $OSTCOUNT -ge 3 ]] || { skip_env "Need at least 3 OSTs" && return; } + [[ $OSTCOUNT -ge 3 ]] || { skip_env "needs >= 3 OSTs" && return; } stopall @@ -5857,6 +5921,9 @@ cleanup_82b() { # Remove OSTs from a pool and destroy the pool. destroy_pool $ost_pool || true + if ! combined_mgs_mds ; then + umount_mgs_client + fi restore_ostindex } @@ -5867,7 +5934,7 @@ cleanup_82b() { test_82b() { # LU-4665 [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.6.54) ]] || { skip "Need MDS version at least 2.6.54" && return; } - [[ $OSTCOUNT -ge 4 ]] || { skip_env "Need at least 4 OSTs" && return; } + [[ $OSTCOUNT -ge 4 ]] || { skip_env "needs >= 4 OSTs" && return; } stopall @@ -5896,6 +5963,10 @@ test_82b() { # LU-4665 done mount_client $MOUNT || error "mount client $MOUNT failed" + if ! combined_mgs_mds ; then + mount_mgs_client + fi + wait_osts_up $LFS df $MOUNT || error "$LFS df $MOUNT failed" mkdir $DIR/$tdir || error "mkdir $DIR/$tdir failed" @@ -5958,7 +6029,7 @@ test_83() { [[ $(lustre_version_code ost1) -ge $(version_code 2.6.91) ]] || { skip "Need OST version at least 2.6.91" && return 0; } if [ $(facet_fstype ost1) != ldiskfs ]; then - skip "Only applicable to ldiskfs-based OSTs" + skip "ldiskfs only test" return fi @@ -6136,7 +6207,7 @@ test_87() { #LU-6544 [[ $(lustre_version_code $SINGLEMDS1) -ge $(version_code 2.9.51) ]] || { skip "Need MDS version at least 2.9.51" && return; } [[ $(facet_fstype $SINGLEMDS) != ldiskfs ]] && - { skip "Only applicable to ldiskfs-based MDTs" && return; } + { skip "ldiskfs only test" && return; } [[ $OSTCOUNT -gt 59 ]] && { skip "Ignore wide striping situation" && return; } @@ -7120,7 +7191,7 @@ run_test 98 "Buffer-overflow check while parsing mount_opts" test_99() { [[ $(facet_fstype ost1) != ldiskfs ]] && - { skip "Only applicable to ldiskfs-based OSTs" && return; } + { skip "ldiskfs only test" && return; } [[ $(lustre_version_code ost1) -ge $(version_code 2.8.57) ]] || { skip "Need OST version at least 2.8.57" && return 0; } @@ -7146,7 +7217,7 @@ test_99() do_facet ost1 $DEBUGFS -c -R stats `ostdevname 1` | grep "meta_bg" || error "meta_bg is not set" - return 0 + reformat } run_test 99 "Adding meta_bg option" @@ -7245,7 +7316,7 @@ test_renamefs() { echo "rename $FSNAME to $newname" - if [ ! combined_mgs_mds ]; then + if ! combined_mgs_mds ; then local facet=$(mgsdevname) do_facet mgs \ @@ -7317,6 +7388,9 @@ test_103() { cp $LUSTRE/tests/test-framework.sh $DIR/$tdir || error "(2) Fail to copy test-framework.sh" + if ! combined_mgs_mds ; then + mount_mgs_client + fi do_facet mgs $LCTL pool_new $FSNAME.pool1 || error "(3) Fail to create $FSNAME.pool1" # name the pool name as the fsname @@ -7328,6 +7402,9 @@ test_103() { $SETSTRIPE -p $FSNAME $DIR/$tdir/d0 || error "(6) Fail to setstripe on $DIR/$tdir/d0" + if ! combined_mgs_mds ; then + umount_mgs_client + fi KEEP_ZPOOL=true stopall @@ -7337,6 +7414,9 @@ test_103() { FSNAME="mylustre" setupall + if ! combined_mgs_mds ; then + mount_mgs_client + fi test_103_check_pool $save_fsname 7 if [ $OSTCOUNT -ge 2 ]; then @@ -7345,6 +7425,9 @@ test_103() { $SETSTRIPE -p $save_fsname $DIR/$tdir/f0 || error "(16) Fail to setstripe on $DIR/$tdir/f0" + if ! combined_mgs_mds ; then + umount_mgs_client + fi stopall @@ -7353,8 +7436,14 @@ test_103() { FSNAME="tfs" setupall + if ! combined_mgs_mds ; then + mount_mgs_client + fi test_103_check_pool $save_fsname 17 + if ! combined_mgs_mds ; then + umount_mgs_client + fi stopall test_renamefs $save_fsname @@ -7423,7 +7512,7 @@ error_and_umount() { } test_105() { - cleanup + cleanup -f reformat setup mkdir -p $TMP/$tdir @@ -7454,6 +7543,32 @@ test_105() { } run_test 105 "check file creation for ro and rw bind mnt pt" +test_106() { + local repeat=5 + + reformat + setupall + mkdir -p $DIR/$tdir || error "create $tdir failed" + lfs setstripe -c 1 -i 0 $DIR/$tdir +#define OBD_FAIL_CAT_RECORDS 0x1312 + do_facet mds1 $LCTL set_param fail_loc=0x1312 fail_val=$repeat + + for ((i = 1; i <= $repeat; i++)); do + + #one full plain llog + createmany -o $DIR/$tdir/f- 64768 + + createmany -u $DIR/$tdir/f- 64768 + done + wait_delete_completed $((TIMEOUT * 7)) +#ASSERTION osp_sync_thread() ( thread->t_flags != SVC_RUNNING ) failed +#shows that osp code is buggy + do_facet mds1 $LCTL set_param fail_loc=0 fail_val=0 + + cleanupall +} +run_test 106 "check osp llog processing when catalog is wrapped" + test_107() { [[ $(lustre_version_code $SINGLEMDS) -ge $(version_code 2.10.50) ]] || { skip "Need MDS version > 2.10.50"; return; }