diff --git a/lustre/tests/acceptance-small.sh b/lustre/tests/acceptance-small.sh index 372531458f803b47e3fc0b4a041ce4154874d781..5ac8776c1981e861a4d1e24ecafed19724cd6566 100755 --- a/lustre/tests/acceptance-small.sh +++ b/lustre/tests/acceptance-small.sh @@ -50,8 +50,20 @@ FORMAT=${FORMAT:-formatall} CLEANUP=${CLEANUP:-stopall} setup_if_needed() { - mount | grep $MOUNT && return + local MOUNTED=$(mounted_lustre_filesystems) + if $(echo $MOUNTED | grep -w -q $MOUNT); then + check_config $MOUNT + return + fi + + echo "Lustre is not mounted, trying to do setup SETUP=$SETUP ... " $FORMAT && $SETUP + + MOUNTED=$(mounted_lustre_filesystems) + if ! $(echo $MOUNTED | grep -w -q $MOUNT); then + echo "Lustre is not mounted after setup! SETUP=$SETUP" + exit 1 + fi } title() { @@ -269,7 +281,7 @@ for NAME in $CONFIGS; do mount_client $MOUNT2 #echo "can't mount2 for '$NAME', skipping sanityN.sh" START=: CLEAN=: bash sanityN.sh - umount $MOUNT2 + [ "$(mount | grep $MOUNT2)" ] && umount $MOUNT2 $DEBUG_ON $CLEANUP diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index bc10ae86293aa6ffb4dcf2f21cb31b45544b0a15..75a191045314ea1bbbedc316a9297545348fe1aa 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1029,15 +1029,28 @@ init_facets_vars () { done } +check_config () { + local mntpt=$1 + + echo Checking config lustre mounted on $mntpt + local mgshost=$(mount | grep " $mntpt " | awk -F@ '{print $1}') + if [ "$mgshost" != "$mgs_HOST" ]; then + FAIL_ON_ERROR=true \ + error "Bad config file: lustre is mounted with mgs $mgshost, but mgs_HOST=$mgs_HOST + Please use correct config or set mds_HOST correctly!" + fi +} + check_and_setup_lustre() { - MOUNTED="`mounted_lustre_filesystems`" - if [ -z "$MOUNTED" ]; then + local MOUNTED=$(mounted_lustre_filesystems) + if [ -z "$MOUNTED" ] || ! $(echo $MOUNTED | grep -w -q $MOUNT); then [ "$REFORMAT" ] && formatall setupall - MOUNTED="`mounted_lustre_filesystems`" + MOUNTED=$(mounted_lustre_filesystems | head -1) [ -z "$MOUNTED" ] && error "NAME=$NAME not mounted" export I_MOUNTED=yes else + check_config $MOUNT init_facets_vars fi if [ "$ONLY" == "setup" ]; then