Whamcloud - gitweb
LU-6429 tests: fix external journal usage 26/14426/2
authorAlexey Lyashkov <alexey.lyashkov@seagate.com>
Thu, 9 Apr 2015 19:09:59 +0000 (22:09 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 17 Sep 2015 15:19:39 +0000 (15:19 +0000)
add ability to specify a external journal for each target.

Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Change-Id: I41005d3b78935185b3498513691fc250e9c57fe2
Reviewed-on: http://review.whamcloud.com/14426
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
autogen.sh
lustre/tests/cfg/local.sh
lustre/tests/conf-sanity.sh
lustre/tests/lfsck-performance.sh
lustre/tests/scrub-performance.sh
lustre/tests/test-framework.sh

index 3f5031c..f8b7741 100644 (file)
@@ -3,13 +3,13 @@
 # NOTE: Please avoid bashisms (bash specific syntax) in this script
 
 set -e
 # NOTE: Please avoid bashisms (bash specific syntax) in this script
 
 set -e
-
+pw="$PWD"
 for dir in libcfs lnet lustre snmp ; do
 for dir in libcfs lnet lustre snmp ; do
-       ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/$dir/autoconf"
+       ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $pw/$dir/autoconf"
 done
 
 libtoolize -q
 done
 
 libtoolize -q
-aclocal -I $PWD/config $ACLOCAL_FLAGS
+aclocal -I $pw/config $ACLOCAL_FLAGS
 autoheader
 automake -a -c
 autoconf
 autoheader
 automake -a -c
 autoconf
index cd3647e..85f6644 100644 (file)
@@ -48,6 +48,7 @@ OST_INDEX_LIST=${OST_INDEX_LIST:-}
 # OSTDEV1="/dev/sda"
 # on specific hosts with
 # ost1_HOST="uml2"
 # OSTDEV1="/dev/sda"
 # on specific hosts with
 # ost1_HOST="uml2"
+# ost1_JRN="/dev/sdb1"
 #
 # For ZFS, ost devices can be specified via either or both of the following:
 # OSTZFSDEV1="${FSNAME}-ost1/ost1"
 #
 # For ZFS, ost devices can be specified via either or both of the following:
 # OSTZFSDEV1="${FSNAME}-ost1/ost1"
index 4686261..e84ed83 100644 (file)
@@ -3853,8 +3853,7 @@ test_56() {
        MDSJOURNALSIZE=16
 
        for num in $(seq 1 $MDSCOUNT); do
        MDSJOURNALSIZE=16
 
        for num in $(seq 1 $MDSCOUNT); do
-               add mds${num} $(mkfs_opts mds${num} $(mdsdevname $num)) \
-                       --reformat $(mdsdevname $num) $(mdsvdevname $num)
+               reformat_mdt $num
        done
        add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \
                $(ostdevname 1) $(ostvdevname 1)
        done
        add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \
                $(ostdevname 1) $(ostvdevname 1)
index 3b6cc7d..0a326a0 100644 (file)
@@ -137,10 +137,7 @@ test_0() {
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-       reformat_external_journal
-       add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
-               $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
-               $(mdsvdevname 1) >/dev/null || error "Fail to reformat the MDS!"
+       format_mdt $(facet_number $SINGLEMDS)
 
        for ((i = $MINCOUNT; i <= $MAXCOUNT; i = $((i * FACTOR)))); do
                local nfiles=$((i - BCOUNT))
 
        for ((i = $MINCOUNT; i <= $MAXCOUNT; i = $((i * FACTOR)))); do
                local nfiles=$((i - BCOUNT))
@@ -182,10 +179,7 @@ test_1() {
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-       reformat_external_journal
-       add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
-               $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
-               $(mdsvdevname 1) > /dev/null || error "Fail to reformat the MDS"
+       reformat_mdt $(facet_number $SINGLEMDS)
 
        for ((i = $MINCOUNT_REPAIR; i <= $MAXCOUNT_REPAIR;
              i = $((i * FACTOR)))); do
 
        for ((i = $MINCOUNT_REPAIR; i <= $MAXCOUNT_REPAIR;
              i = $((i * FACTOR)))); do
@@ -236,11 +230,7 @@ test_2() {
              i = $((i * FACTOR)))); do
                stopall
                do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
              i = $((i * FACTOR)))); do
                stopall
                do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-               reformat_external_journal
-               add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) \
-                       --backfstype $(facet_fstype ${SINGLEMDS}) --reformat \
-                       ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null ||
-                       error "Fail to reformat the MDS!"
+               format_mdt $(facet_number $SINGLEMDS)
 
                echo "+++ start to create for ${i} files set at: $(date) +++"
                lfsck_create_nfiles ${i} 0 ${NTHREADS} 1 ||
 
                echo "+++ start to create for ${i} files set at: $(date) +++"
                lfsck_create_nfiles ${i} 0 ${NTHREADS} 1 ||
@@ -278,10 +268,7 @@ test_3() {
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
 
        stopall
        do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-       reformat_external_journal
-       add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
-               $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
-               $(mdsvdevname 1) > /dev/null || error "Fail to reformat the MDS"
+       format_mdt $(facet_number $SINGLEMDS)
 
        for ((i = $inc_count; i <= $BASE_COUNT; i = $((i + inc_count)))); do
                local nfiles=$((i - BCOUNT))
 
        for ((i = $inc_count; i <= $BASE_COUNT; i = $((i + inc_count)))); do
                local nfiles=$((i - BCOUNT))
index 26ec345..a43b860 100644 (file)
@@ -42,7 +42,7 @@ fi
 
 stopall
 do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
 
 stopall
 do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-reformat_external_journal
+reformat_external_journal ${SINGLEMDS}
 add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \
        --reformat ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null || exit 2
 
 add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \
        --reformat ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null || exit 2
 
index d942691..be6d1ec 100755 (executable)
@@ -6,7 +6,6 @@ set -e
 #set -x
 
 export LANG=en_US
 #set -x
 
 export LANG=en_US
-export EJOURNAL=${EJOURNAL:-""}
 export REFORMAT=${REFORMAT:-""}
 export WRITECONF=${WRITECONF:-""}
 export VERBOSE=${VERBOSE:-false}
 export REFORMAT=${REFORMAT:-""}
 export WRITECONF=${WRITECONF:-""}
 export VERBOSE=${VERBOSE:-false}
@@ -2935,6 +2934,12 @@ get_env_vars() {
                fi
        done
 
                fi
        done
 
+       for var in VERBOSE; do
+               if [ -n "${!var}" ]; then
+                       echo -n " $var=${!var}"
+               fi
+       done
+
        if [ -n "$FSTYPE" ]; then
                echo -n " FSTYPE=$FSTYPE"
        fi
        if [ -n "$FSTYPE" ]; then
                echo -n " FSTYPE=$FSTYPE"
        fi
@@ -3397,9 +3402,11 @@ mkfs_opts() {
                                fs_mkfs_opts+="-O large_xattr"
                        fi
 
                                fs_mkfs_opts+="-O large_xattr"
                        fi
 
-                       fs_mkfs_opts+=${MDSJOURNALSIZE:+" -J size=$MDSJOURNALSIZE"}
-                       if [ ! -z $EJOURNAL ]; then
-                               fs_mkfs_opts+=${MDSJOURNALSIZE:+" device=$EJOURNAL"}
+                       var=${facet}_JRN
+                       if [ -n "${!var}" ]; then
+                               fs_mkfs_opts+=" -J device=${!var}"
+                       else
+                               fs_mkfs_opts+=${MDSJOURNALSIZE:+" -J size=$MDSJOURNALSIZE"}
                        fi
                        fs_mkfs_opts+=${MDSISIZE:+" -i $MDSISIZE"}
                fi
                        fi
                        fs_mkfs_opts+=${MDSISIZE:+" -i $MDSISIZE"}
                fi
@@ -3410,7 +3417,12 @@ mkfs_opts() {
                opts+=${OSSCAPA:+" --param=ost.capa=$OSSCAPA"}
 
                if [ $fstype == ldiskfs ]; then
                opts+=${OSSCAPA:+" --param=ost.capa=$OSSCAPA"}
 
                if [ $fstype == ldiskfs ]; then
-                       fs_mkfs_opts+=${OSTJOURNALSIZE:+" -J size=$OSTJOURNALSIZE"}
+                       var=${facet}_JRN
+                       if [ -n "${!var}" ]; then
+                               fs_mkfs_opts+=" -J device=${!var}"
+                       else
+                               fs_mkfs_opts+=${OSTJOURNALSIZE:+" -J size=$OSTJOURNALSIZE"}
+                       fi
                fi
        fi
 
                fi
        fi
 
@@ -3455,39 +3467,63 @@ check_ost_indices() {
        done
 }
 
        done
 }
 
-formatall() {
+format_mgs() {
+       local quiet
+
+       if ! $VERBOSE; then
+               quiet=yes
+       fi
+       echo "Format mgs: $(mgsdevname)"
+       reformat_external_journal mgs
+       add mgs $(mkfs_opts mgs $(mgsdevname)) --reformat \
+               $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} || exit 10
+}
+
+format_mdt() {
+       local num=$1
        local quiet
 
        if ! $VERBOSE; then
                quiet=yes
        fi
        local quiet
 
        if ! $VERBOSE; then
                quiet=yes
        fi
+       echo "Format mds$num: $(mdsdevname $num)"
+       reformat_external_journal mds$num
+       add mds$num $(mkfs_opts mds$num $(mdsdevname ${num})) \
+               --reformat $(mdsdevname $num) $(mdsvdevname $num) \
+               ${quiet:+>/dev/null} || exit 10
+}
+
+format_ost() {
+       local num=$1
+
+       if ! $VERBOSE; then
+               quiet=yes
+       fi
+       echo "Format ost$num: $(ostdevname $num)"
+       reformat_external_journal ost$num
+       add ost$num $(mkfs_opts ost$num $(ostdevname ${num})) \
+               --reformat $(ostdevname $num) $(ostvdevname ${num}) \
+               ${quiet:+>/dev/null} || exit 10
+}
 
 
+formatall() {
        stopall
        # We need ldiskfs here, may as well load them all
        load_modules
        [ "$CLIENTONLY" ] && return
        echo Formatting mgs, mds, osts
        if ! combined_mgs_mds ; then
        stopall
        # We need ldiskfs here, may as well load them all
        load_modules
        [ "$CLIENTONLY" ] && return
        echo Formatting mgs, mds, osts
        if ! combined_mgs_mds ; then
-               echo "Format mgs: $(mgsdevname)"
-               add mgs $(mkfs_opts mgs $(mgsdevname)) --reformat \
-                       $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} ||
-                       exit 10
+               format_mgs
        fi
 
        for num in $(seq $MDSCOUNT); do
        fi
 
        for num in $(seq $MDSCOUNT); do
-               echo "Format mds$num: $(mdsdevname $num)"
-               add mds$num $(mkfs_opts mds$num $(mdsdevname ${num})) \
-                       --reformat $(mdsdevname $num) $(mdsvdevname $num) \
-                       ${quiet:+>/dev/null} || exit 10
+               format_mdt $num
        done
 
        export OST_INDICES=($(hostlist_expand "$OST_INDEX_LIST"))
        check_ost_indices
        for num in $(seq $OSTCOUNT); do
        done
 
        export OST_INDICES=($(hostlist_expand "$OST_INDEX_LIST"))
        check_ost_indices
        for num in $(seq $OSTCOUNT); do
-               echo "Format ost$num: $(ostdevname $num)"
-               add ost$num $(mkfs_opts ost$num $(ostdevname ${num})) \
-                       --reformat $(ostdevname $num) $(ostvdevname ${num}) \
-                       ${quiet:+>/dev/null} || exit 10
+               format_ost $num
        done
 }
 
        done
 }
 
@@ -6901,12 +6937,14 @@ generate_string() {
 
 reformat_external_journal() {
        local facet=$1
 
 reformat_external_journal() {
        local facet=$1
+       local var
 
 
-       if [ ! -z ${EJOURNAL} ]; then
+       var=${facet}_JRN
+       if [ -n "${!var}" ]; then
                local rcmd="do_facet $facet"
 
                local rcmd="do_facet $facet"
 
-               echo "reformat external journal on $facet:${EJOURNAL}"
-               ${rcmd} mke2fs -O journal_dev ${EJOURNAL} || return 1
+               echo "reformat external journal on $facet:${!var}"
+               ${rcmd} mke2fs -O journal_dev ${!var} || return 1
        fi
 }
 
        fi
 }
 
@@ -6947,13 +6985,9 @@ mds_backup_restore() {
        ${rcmd} tar zcf $metadata -C $mntpt/ . > /dev/null 2>&1 || return 3
        # step 6: umount
        ${rcmd} umount -d $mntpt || return 4
        ${rcmd} tar zcf $metadata -C $mntpt/ . > /dev/null 2>&1 || return 3
        # step 6: umount
        ${rcmd} umount -d $mntpt || return 4
-       # step 7: reformat external journal if needed
-       reformat_external_journal $facet || return 5
        # step 8: reformat dev
        echo "reformat new device"
        # step 8: reformat dev
        echo "reformat new device"
-       add $facet $(mkfs_opts $facet ${devname}) --backfstype ldiskfs \
-               --reformat ${devname} $(mdsvdevname $(facet_number $facet)) \
-               > /dev/null || exit 6
+       format_mdt $(facet_number $facet)
        # step 9: mount dev
        ${rcmd} mount -t ldiskfs $opts $devname $mntpt || return 7
        # step 10: restore metadata
        # step 9: mount dev
        ${rcmd} mount -t ldiskfs $opts $devname $mntpt || return 7
        # step 10: restore metadata