diff --git a/lustre/tests/acceptance-small.sh b/lustre/tests/acceptance-small.sh index ca92df4595c42d31799fe454f086bcbe6009dc73..4ab055c24efbc242392561dfa4b95e1f2e7263cb 100755 --- a/lustre/tests/acceptance-small.sh +++ b/lustre/tests/acceptance-small.sh @@ -59,8 +59,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() { @@ -281,7 +293,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 eee4a8ab9b61a66c7375aab54c71dab8e4aa825a..3ef0ab27b3554da6beac596f723c0970c366e290 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -1277,15 +1277,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