From 95c1ad7c624da5c76465e7412987f67098c465e1 Mon Sep 17 00:00:00 2001 From: grev <grev> Date: Wed, 8 Oct 2008 13:41:11 +0000 Subject: [PATCH] b=15621 i=Adilger MOUNTCONF cleanup --- lustre/tests/conf-sanity.sh | 263 +----------------------------------- 1 file changed, 3 insertions(+), 260 deletions(-) diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh index 28e18c5700..0f54f7f976 100644 --- a/lustre/tests/conf-sanity.sh +++ b/lustre/tests/conf-sanity.sh @@ -11,12 +11,8 @@ set -e ONLY=${ONLY:-"$*"} -# These tests don't apply to mountconf -# xml xml xml xml xml xml dumb -MOUNTCONFSKIP="10 11 12 13 13b 14 15 " - -# bug number for skipped test: 13369 -ALWAYS_EXCEPT=" $CONF_SANITY_EXCEPT $MOUNTCONFSKIP 34a" +# bug number for skipped test: 13369 +ALWAYS_EXCEPT=" $CONF_SANITY_EXCEPT 34a" # UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT! SRCDIR=`dirname $0` @@ -394,261 +390,8 @@ test_9() { run_test 9 "test ptldebug and subsystem for mkfs" -test_10() { - echo "generate configuration with the same name for node and mds" - OLDXMLCONFIG=$XMLCONFIG - XMLCONFIG="broken.xml" - [ -f "$XMLCONFIG" ] && rm -f $XMLCONFIG - facet="mds" - rm -f ${facet}active - add_facet $facet - echo "the name for node and mds is the same" - do_lmc --add mds --node ${facet}_facet --mds ${facet}_facet \ - --dev $MDSDEV --size $MDSSIZE || return $? - do_lmc --add lov --mds ${facet}_facet --lov lov1 --stripe_sz \ - $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ \ - --stripe_pattern 0 || return $? - add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE - facet="client" - add_facet $facet --lustre_upcall $UPCALL - do_lmc --add mtpt --node ${facet}_facet --mds mds_facet \ - --lov lov1 --path $MOUNT - - echo "mount lustre" - start_ost - start_mds - mount_client $MOUNT - check_mount || return 41 - cleanup || return $? - - echo "Success!" - XMLCONFIG=$OLDXMLCONFIG -} -run_test 10 "mount lustre with the same name for node and mds" - -test_11() { - OLDXMLCONFIG=$XMLCONFIG - XMLCONFIG="conf11.xml" - - [ -f "$XMLCONFIG" ] && rm -f $XMLCONFIG - add_mds mds --dev $MDSDEV --size $MDSSIZE - add_ost ost --dev $OSTDEV --size $OSTSIZE - add_client client mds --path $MOUNT --ost ost_svc || return $? - echo "Default lov config success!" - - [ -f "$XMLCONFIG" ] && rm -f $XMLCONFIG - add_mds mds --dev $MDSDEV --size $MDSSIZE - add_ost ost --dev $OSTDEV --size $OSTSIZE - add_client client mds --path $MOUNT && return $? - echo "--add mtpt with neither --lov nor --ost will return error" - - echo "" - echo "Success!" - XMLCONFIG=$OLDXMLCONFIG -} -run_test 11 "use default lov configuration (should return error)" - -test_12() { - OLDXMLCONFIG=$XMLCONFIG - XMLCONFIG="batch.xml" - BATCHFILE="batchfile" - - # test double quote - [ -f "$XMLCONFIG" ] && rm -f $XMLCONFIG - [ -f "$BATCHFILE" ] && rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions \"-I 128\"" >> $BATCHFILE - # --mkfsoptions "-I 128" - do_lmc -m $XMLCONFIG --batch $BATCHFILE || return $? - if [ `sed -n '/>-I 128</p' $XMLCONFIG | wc -l` -eq 1 ]; then - echo "matched double quote success" - else - echo "matched double quote fail" - return 1 - fi - rm -f $XMLCONFIG - rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions \"-I 128" >> $BATCHFILE - # --mkfsoptions "-I 128 - do_lmc -m $XMLCONFIG --batch $BATCHFILE && return $? - echo "unmatched double quote should return error" - - # test single quote - rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions '-I 128'" >> $BATCHFILE - # --mkfsoptions '-I 128' - do_lmc -m $XMLCONFIG --batch $BATCHFILE || return $? - if [ `sed -n '/>-I 128</p' $XMLCONFIG | wc -l` -eq 1 ]; then - echo "matched single quote success" - else - echo "matched single quote fail" - return 1 - fi - rm -f $XMLCONFIG - rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions '-I 128" >> $BATCHFILE - # --mkfsoptions '-I 128 - do_lmc -m $XMLCONFIG --batch $BATCHFILE && return $? - echo "unmatched single quote should return error" - - # test backslash - rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions \-\I\ \128" >> $BATCHFILE - # --mkfsoptions \-\I\ \128 - do_lmc -m $XMLCONFIG --batch $BATCHFILE || return $? - if [ `sed -n '/>-I 128</p' $XMLCONFIG | wc -l` -eq 1 ]; then - echo "backslash followed by a whitespace/letter success" - else - echo "backslash followed by a whitespace/letter fail" - return 1 - fi - rm -f $XMLCONFIG - rm -f $BATCHFILE - echo "--add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp" > $BATCHFILE - echo "--add mds --node $HOSTNAME --mds mds1 --mkfsoptions -I\ 128\\" >> $BATCHFILE - # --mkfsoptions -I\ 128\ - do_lmc -m $XMLCONFIG --batch $BATCHFILE && return $? - echo "backslash followed by nothing should return error" - - rm -f $BATCHFILE - XMLCONFIG=$OLDXMLCONFIG -} -run_test 12 "lmc --batch, with single/double quote, backslash in batchfile" - -test_13a() { # was test_13 - OLDXMLCONFIG=$XMLCONFIG - XMLCONFIG="conf13-1.xml" - - # check long uuid will be truncated properly and uniquely - echo "To generate XML configuration file(with long ost name): $XMLCONFIG" - [ -f "$XMLCONFIG" ] && rm -f $XMLCONFIG - do_lmc --add net --node $HOSTNAME --nid $HOSTNAME --nettype tcp - do_lmc --add mds --node $HOSTNAME --mds mds1_name_longer_than_31characters - do_lmc --add mds --node $HOSTNAME --mds mds2_name_longer_than_31characters - if [ ! -f "$XMLCONFIG" ]; then - echo "Error:no file $XMLCONFIG created!" - return 1 - fi - EXPECTEDMDS1UUID="e_longer_than_31characters_UUID" - EXPECTEDMDS2UUID="longer_than_31characters_UUID_2" - FOUNDMDS1UUID=`awk -F"'" '/<mds .*uuid=/' $XMLCONFIG | sed -n '1p' \ - | sed "s/ /\n\r/g" | awk -F"'" '/uuid=/{print $2}'` - FOUNDMDS2UUID=`awk -F"'" '/<mds .*uuid=/' $XMLCONFIG | sed -n '2p' \ - | sed "s/ /\n\r/g" | awk -F"'" '/uuid=/{print $2}'` - [ -z "$FOUNDMDS1UUID" ] && echo "MDS1 UUID empty" && return 1 - [ -z "$FOUNDMDS2UUID" ] && echo "MDS2 UUID empty" && return 1 - if ([ $EXPECTEDMDS1UUID = $FOUNDMDS1UUID ] && [ $EXPECTEDMDS2UUID = $FOUNDMDS2UUID ]) || \ - ([ $EXPECTEDMDS1UUID = $FOUNDMDS2UUID ] && [ $EXPECTEDMDS2UUID = $FOUNDMDS1UUID ]); then - echo "Success:long uuid truncated successfully and being unique." - else - echo "Error:expected uuid for mds1 and mds2: $EXPECTEDMDS1UUID; $EXPECTEDMDS2UUID" - echo "but: found uuid for mds1 and mds2: $FOUNDMDS1UUID; $FOUNDMDS2UUID" - return 1 - fi - rm -f $XMLCONFIG - XMLCONFIG=$OLDXMLCONFIG -} -run_test 13a "check new_uuid of lmc operating correctly" - -test_13b() { - OLDXMLCONFIG=$XMLCONFIG - XMLCONFIG="conf13-1.xml" - SECONDXMLCONFIG="conf13-2.xml" - # check multiple invocations for lmc generate same XML configuration file - rm -f $XMLCONFIG - echo "Generate the first XML configuration file" - gen_config - echo "mv $XMLCONFIG to $SECONDXMLCONFIG" - sed -e "s/mtime[^ ]*//" $XMLCONFIG > $SECONDXMLCONFIG || return $? - echo "Generate the second XML configuration file" - gen_config - # don't compare .xml mtime, it will always be different - if [ `sed -e "s/mtime[^ ]*//" $XMLCONFIG | diff - $SECONDXMLCONFIG | wc -l` -eq 0 ]; then - echo "Success:multiple invocations for lmc generate same XML file" - else - echo "Error: multiple invocations for lmc generate different XML file" - return 1 - fi - - rm -f $XMLCONFIG $SECONDXMLCONFIG - XMLCONFIG=$OLDXMLCONFIG -} -run_test 13b "check lmc generates consistent .xml file" - -test_14() { - rm -f $XMLCONFIG - - # create xml file with --mkfsoptions for ost - echo "create xml file with --mkfsoptions for ost" - add_mds mds --dev $MDSDEV --size $MDSSIZE - add_lov lov1 mds --stripe_sz $STRIPE_BYTES\ - --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 - add_ost ost --lov lov1 --dev $OSTDEV --size $OSTSIZE \ - --mkfsoptions "-Llabel_conf_14" - add_client client mds --lov lov1 --path $MOUNT - - FOUNDSTRING=`awk -F"<" '/<mkfsoptions>/{print $2}' $XMLCONFIG` - EXPECTEDSTRING="mkfsoptions>-Llabel_conf_14" - if [ "$EXPECTEDSTRING" != "$FOUNDSTRING" ]; then - echo "Error: expected: $EXPECTEDSTRING; found: $FOUNDSTRING" - return 1 - fi - echo "Success:mkfsoptions for ost written to xml file correctly." - - # mount lustre to test lconf mkfsoptions-parsing - echo "mount lustre" - start_ost - start_mds - mount_client $MOUNT || return $? - if [ -z "`do_facet ost1 dumpe2fs -h $OSTDEV | grep label_conf_14`" ]; then - echo "Error: the mkoptions not applied to mke2fs of ost." - return 1 - fi - cleanup - echo "lconf mkfsoptions for ost success" - - gen_config -} -run_test 14 "test mkfsoptions of ost for lmc and lconf" - -cleanup_15() { - trap 0 - [ -f $MOUNTLUSTRE ] && echo "remove $MOUNTLUSTRE" && rm -f $MOUNTLUSTRE - if [ -f $MOUNTLUSTRE.sav ]; then - echo "return original $MOUNTLUSTRE.sav to $MOUNTLUSTRE" - mv $MOUNTLUSTRE.sav $MOUNTLUSTRE - fi -} - -# this only tests the kernel mount command, not anything about lustre. -test_15() { - MOUNTLUSTRE=${MOUNTLUSTRE:-/sbin/mount.lustre} - start_ost - start_mds - - echo "mount lustre on ${MOUNT} without $MOUNTLUSTRE....." - if [ -f "$MOUNTLUSTRE" ]; then - echo "save $MOUNTLUSTRE to $MOUNTLUSTRE.sav" - mv $MOUNTLUSTRE $MOUNTLUSTRE.sav && trap cleanup_15 EXIT INT - if [ -f $MOUNTLUSTRE ]; then - skip "$MOUNTLUSTRE cannot be moved, skipping test" - return 0 - fi - fi - - mount_client $MOUNT && error "mount succeeded" && return 1 - echo "mount lustre on $MOUNT without $MOUNTLUSTRE failed as expected" - cleanup_15 - cleanup || return $? -} -run_test 15 "zconf-mount without /sbin/mount.lustre (should return error)" - test_16() { - TMPMTPT="${TMP}/conf16" + local TMPMTPT="${TMP}/conf16" if [ ! -e "$MDSDEV" ]; then log "no $MDSDEV existing, so mount Lustre to create one" -- GitLab