From f7d395102ac17e49d2c7fa3ad2bfda483a3ddeda Mon Sep 17 00:00:00 2001 From: Fan Yong Date: Sun, 13 Nov 2016 17:34:10 +0800 Subject: [PATCH] LU-8900 tests: add snapshot in racer tests To check whether snapshot may cause trouble or not. Test-Parameters: trivial envdefinitions=SLOW=yes,RACER_ENABLE_SNAPSHOT=true mdtfilesystemtype=zfs ostfilesystemtype=zfs mdscount=2 mdtcount=4 testlist=racer Test-Parameters: trivial envdefinitions=SLOW=yes,RACER_ENABLE_SNAPSHOT=false mdtfilesystemtype=zfs ostfilesystemtype=zfs mdscount=2 mdtcount=4 testlist=racer Signed-off-by: Fan Yong Change-Id: I09dababec7175c95f1a21519460e75e82ef7bc2f Reviewed-on: https://review.whamcloud.com/26199 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Niu Yawei Reviewed-by: Oleg Drokin --- lustre/tests/Makefile.am | 1 + lustre/tests/racer.sh | 28 ++++++++++++++++++++++++++++ lustre/tests/racer/lss_create.sh | 11 +++++++++++ lustre/tests/racer/lss_destroy.sh | 13 +++++++++++++ 4 files changed, 53 insertions(+) create mode 100755 lustre/tests/racer/lss_create.sh create mode 100755 lustre/tests/racer/lss_destroy.sh diff --git a/lustre/tests/Makefile.am b/lustre/tests/Makefile.am index d24289f..2508f4e 100644 --- a/lustre/tests/Makefile.am +++ b/lustre/tests/Makefile.am @@ -48,6 +48,7 @@ nobase_noinst_SCRIPTS += racer/file_link.sh racer/file_rename.sh racer/file_syml nobase_noinst_SCRIPTS += racer/dir_remote.sh racer/dir_migrate.sh racer/file_chmod.sh nobase_noinst_SCRIPTS += racer/file_chown.sh racer/file_delxattr.sh racer/file_getxattr.sh nobase_noinst_SCRIPTS += racer/file_mknod.sh racer/file_setxattr.sh racer/file_truncate.sh +nobase_noinst_SCRIPTS += racer/lss_create.sh racer/lss_destroy.sh nobase_noinst_SCRIPTS += posix/posix.cfg nobase_noinst_DATA = acl/cp.test acl/getfacl-noacl.test acl/inheritance.test nobase_noinst_DATA += acl/misc.test acl/permissions.test acl/setfacl.test diff --git a/lustre/tests/racer.sh b/lustre/tests/racer.sh index e1bfa0e..9e2bf50 100644 --- a/lustre/tests/racer.sh +++ b/lustre/tests/racer.sh @@ -36,9 +36,13 @@ elif ((MDSCOUNT > 1 && RACER_ENABLE_REMOTE_DIRS=${RACER_ENABLE_REMOTE_DIRS:-true} fi +[[ $(lustre_version_code $SINGLEMDS) -lt $(version_code 2.9.54) || + $(facet_fstype mgs) != zfs ]] && RACER_ENABLE_SNAPSHOT=false + RACER_ENABLE_REMOTE_DIRS=${RACER_ENABLE_REMOTE_DIRS:-false} RACER_ENABLE_STRIPED_DIRS=${RACER_ENABLE_STRIPED_DIRS:-false} RACER_ENABLE_MIGRATION=${RACER_ENABLE_MIGRATION:-false} +RACER_ENABLE_SNAPSHOT=${RACER_ENABLE_SNAPSHOT:-true} check_progs_installed $CLIENTS $racer || { skip_env "$racer not found" && exit 0; } @@ -81,6 +85,19 @@ test_1() { rpids="$rpids $pid" done + local lss_pids="" + if $RACER_ENABLE_SNAPSHOT; then + lss_gen_conf + + $LUSTRE/tests/racer/lss_create.sh & + pid=$! + lss_pids="$lss_pids $pid" + + $LUSTRE/tests/racer/lss_destroy.sh & + pid=$! + lss_pids="$lss_pids $pid" + fi + echo racers pids: $rpids for pid in $rpids; do wait $pid @@ -91,6 +108,17 @@ test_1() { fi done + if $RACER_ENABLE_SNAPSHOT; then + killall -q lss_create.sh + killall -q lss_destroy.sh + + for pid in $lss_pids; do + wait $pid + done + + lss_cleanup + fi + return $rrc } run_test 1 "racer on clients: ${CLIENTS:-$(hostname)} DURATION=$DURATION" diff --git a/lustre/tests/racer/lss_create.sh b/lustre/tests/racer/lss_create.sh new file mode 100755 index 0000000..ff530f0 --- /dev/null +++ b/lustre/tests/racer/lss_create.sh @@ -0,0 +1,11 @@ +#!/bin/bash +trap 'kill $(jobs -p)' EXIT + +LUSTRE=${LUSTRE:-$(cd $(dirname $0)/../..; echo $PWD)} +. $LUSTRE/tests/test-framework.sh +. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} + +while /bin/true; do + lsnapshot_create -n lss_$RANDOM || true + sleep $((RANDOM % 9 + 11)) +done diff --git a/lustre/tests/racer/lss_destroy.sh b/lustre/tests/racer/lss_destroy.sh new file mode 100755 index 0000000..72135b4 --- /dev/null +++ b/lustre/tests/racer/lss_destroy.sh @@ -0,0 +1,13 @@ +#!/bin/bash +trap 'kill $(jobs -p)' EXIT + +LUSTRE=${LUSTRE:-$(cd $(dirname $0)/../..; echo $PWD)} +. $LUSTRE/tests/test-framework.sh +. ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} + +while /bin/true; do + sleep $((RANDOM % 9 + 11)) + ssname=$(do_facet mgs "$LCTL snapshot_list -F $FSNAME 2>/dev/null" | + awk '/snapshot_name.*lss_/ { print $2; exit; }') + [ ! -z "$ssname" ] && lsnapshot_destroy -n $ssname -f || true +done -- 1.8.3.1