From: wangdi Date: Wed, 19 Nov 2003 11:10:09 +0000 (+0000) Subject: add conf-sanity.sh X-Git-Tag: v1_7_0_51~2^7~215 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=d211dade7f178502d6160e168dfddee365d18564;p=fs%2Flustre-release.git add conf-sanity.sh --- diff --git a/lustre/tests/conf-sanity.sh b/lustre/tests/conf-sanity.sh new file mode 100644 index 0000000..79abdd2 --- /dev/null +++ b/lustre/tests/conf-sanity.sh @@ -0,0 +1,239 @@ +#!/bin/bash +# requirement: +# add uml1 uml2 uml3 in your /etc/hosts + +set -e + +SRCDIR=`dirname $0` +PATH=$PWD/$SRCDIR:$SRCDIR:$SRCDIR/../utils:$PATH + +LUSTRE=${LUSTRE:-`dirname $0`/..} +RLUSTRE=${RLUSTRE:-$LUSTRE} +ONLY=${ONLY:-"$*"} + +. $LUSTRE/tests/test-framework.sh + +init_test_env + +mds_HOST=${mds_HOST:-`hostname`} +mdsfailover_HOST=${mdsfailover_HOST} +ost_HOST=${ost_HOST:-`hostname`} +client_HOST=${client_HOST:-`hostname`} +NETTYPE=${NETTYPE:-tcp} + +MOUNT=${MOUNT:-"/mnt/lustre"} +MOUNT2=${MOUNT2:-"/mnt/lustre2"} +DIR=${DIR:-$MOUNT} +DIR2=${DIR2:-$MOUNT2} +PDSH=${PDSH:-'pdsh -S -w'} +MDSDEV=${MDSDEV:-/tmp/mds-`hostname`} +MDSSIZE=${MDSSIZE:-10000} +OSTDEV=${OSTDEV:-/tmp/ost-`hostname`} +OSTSIZE=${OSTSIZE:-10000} +FSTYPE=${FSTYPE:-ext3} +TIMEOUT=${TIMEOUT:-5} +CONFIG=${CONFIG:-"$XMLCONFIG"} +LCONF=${LCONF:-"lconf"} +LCTL=${LCTL:-"lctl"} +FORCE=${FORCE:-" --force"} +DAEMONFILE=${DAEMONFILE:-"/r/tmp/debug-daemon"} +DAEMONSIZE=${DAEMONSIZE:-"40"} + +STRIPE_BYTES=65536 +STRIPES_PER_OBJ=0 + +do_command() { + local node=$1 + shift + $PDSH $node "PATH=\$PATH:$RLUSTRE/utils:$RLUSTRE/tests; cd $RPWD; $@" +} + +gen_config() { + rm -f $XMLCONFIG + add_facet mds + add_facet ost + add_facet client + + do_lmc --add mds --node mds_facet --mds mds1 --dev $MDSDEV --size $MDSSIZE + do_lmc --add lov --mds mds1 --lov lov1 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 + do_lmc --add ost --lov lov1 --node ost_facet --ost ost1 --dev $OSTDEV --size $OSTSIZE + do_lmc --add mtpt --node client_facet --path $MOUNT --mds mds1 --lov lov1 +} + +gen_second_config() { + rm -f $XMLCONFIG + add_facet mds + add_facet ost + add_facet client + + do_lmc --add mds --node mds_facet --mds mds1 --dev $MDSDEV --size $MDSSIZE + do_lmc --add lov --mds mds1 --lov lov2 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 + do_lmc --add ost --lov lov2 --node ost_facet --ost ost1 --dev $OSTDEV --size $OSTSIZE + do_lmc --add mtpt --node client_facet --path $MOUNT2 --mds mds1 --lov lov2 +} +start_mds() { + echo "start mds service on ${mds_HOST}...." + start mds --reformat $MDSLCONFARGS > /dev/null || exit 94 +} +stop_mds() { + echo "stop mds service on ${mds_HOST}...." + stop mds $@ > /dev/null || exit 97 +} + +start_ost() { + echo "start ost service on ${mds_HOST}...." + start ost --reformat $OSTLCONFARGS > /dev/null || exit 95 +} + +stop_ost() { + echo "stop ost service on ${mds_HOST}...." + stop ost $@ > /dev/null || exit 98 +} + +mount_client() { + local MOUNTPATH=$1 + echo "mount lustre on ${MOUNTPATH}....." + zconf_mount $MOUNTPATH > /dev/null || exit 96 +} + +umount_client() { + local MOUNTPATH=$1 + echo "umount lustre on ${MOUNTPATH}....." + zconf_umount $MOUNTPATH > /dev/null || exit 97 +} + +manual_umount_client(){ + echo "manual umount lustre on ${MOUNTPATH}...." + do_command $client_HOST "umount $MOUNT" +} + +setup() { + start_ost + start_mds + mount_client $MOUNT +} + +cleanup() { + umount_client $MOUNT + stop_mds + stop_ost +} + +check_mount() { + do_command $client_HOST "touch $DIR/a" || exit 71 + do_command $client_HOST "rm $DIR/a" || exit 72 + echo "setup single mount lustre success" +} + +check_mount2() { + do_command $client_HOST "touch $DIR/a" || exit 71 + do_command $client_HOST "rm $DIR/a" || exit 72 + do_command $client_HOST "touch $DIR2/a" || exit 73 + do_command $client_HOST "rm $DIR2/a" || exit 74 + echo "setup double mount lustre success" +} + +build_test_filter + +#create single point mountpoint + +gen_config + + +test_0() { + start_ost + start_mds + mount_client $MOUNT + check_mount || exit 41 + cleanup +} +run_test 0 "single mount setup" + +test_1() { + start_ost + echo "start ost second time..." + start ost --reformat $OSTLCONFARGS > /dev/null + start_mds + mount_client $MOUNT + check_mount || exit 42 + cleanup +} +run_test 1 "start up ost twice" + +test_2() { + start_ost + start_mds + echo "start mds second time.." + start mds --reformat $MDSLCONFARGS > /dev/null + + mount_client $MOUNT + check_mount || exit 43 + cleanup +} +run_test 2 "start up mds twice" + +test_3() { + start_ost + start_mds + + mount_client $MOUNT + mount_client $MOUNT + + check_mount || exit 44 + + cleanup +} +run_test 3 "mount client twice" + +test_4() { + setup + touch $DIR/a || exit 85 + stop_ost ${FORCE} + + cleanup +} +run_test 4 "force cleanup ost, then cleanup" + +test_5() { + setup + touch $DIR/a || exit 86 + stop_mds ${FORCE} || exit 98 + cleanup +} +run_test 5 "force cleanup mds, then cleanup" + +test_6() { + setup + manual_umount_client + mount_client ${MOUNT} || exit 87 + touch $DIR/a || exit 86 + cleanup +} +run_test 6 "manual umount, then mount again" + +test_7() { + setup + manual_umount_client + cleanup +} +run_test 7 "manual umount, then cleanup" + +test_8() { + start_ost + start_mds + + mount_client $MOUNT + mount_client $MOUNT2 + + check_mount2 || exit 45 + umount $MOUNT + umount_client $MOUNT2 + + stop_mds + stop_ost + +} +run_test 8 "double mount setup" + +gen_config +