From: Minh Diep Date: Thu, 25 Sep 2014 05:30:54 +0000 (-0700) Subject: LU-5674 test: print spl debug info X-Git-Tag: 2.6.90~55 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=acdaca8426a4ca21dab6f6b39365befb3a8f5ffc LU-5674 test: print spl debug info Print /proc/spl files in case of tests fail Signed-off-by: Minh Diep Change-Id: I33890eedb9e5a2f87ae94cddd1db346c3c17c06d Reviewed-on: http://review.whamcloud.com/11580 Reviewed-by: Bob Glossman Tested-by: Jenkins Reviewed-by: Isaac Huang Reviewed-by: Jian Yu Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index f48347a..9290abb 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -4145,6 +4145,60 @@ run_lfsck() { return $rc } +dump_file_contents() { + local nodes=$1 + local dir=$2 + local logname=$3 + local node + + if [ -z "$nodes" -o -z "$dir" -o -z "$logname" ]; then + error_noexit false \ + "Invalid parameters for dump_file_contents()" + return 1 + fi + for node in ${nodes}; do + do_node $node "for i in \\\$(find $dir -type f); do + echo ====\\\${i}=======================; + cat \\\${i}; + done" >> ${logname}.${node}.log + done +} + +dump_command_output() { + local nodes=$1 + local cmd=$2 + local logname=$3 + local node + + if [ -z "$nodes" -o -z "$cmd" -o -z "$logname" ]; then + error_noexit false \ + "Invalid parameters for dump_command_output()" + return 1 + fi + + for node in ${nodes}; do + do_node $node "echo ====${cmd}=======================; + $cmd" >> ${logname}.${node}.log + done +} + +log_zfs_info() { + local logname=$1 + + # dump file contents from /proc/spl in case of zfs test + if [ "$(facet_fstype ost1)" = "zfs" ]; then + dump_file_contents "$(osts_nodes)" "/proc/spl" "${logname}" + dump_command_output \ + "$(osts_nodes)" "zpool events -v" "${logname}" + fi + + if [ "$(facet_fstype $SINGLEMDS)" = "zfs" ]; then + dump_file_contents "$(mdts_nodes)" "/proc/spl" "${logname}" + dump_command_output \ + "$(mdts_nodes)" "zpool events -v" "${logname}" + fi +} + check_and_cleanup_lustre() { if [ "$LFSCK_ALWAYS" = "yes" -a "$TESTSUITE" != "lfsck" ]; then get_svr_devs @@ -4912,6 +4966,8 @@ run_one_logged() { local TEST_ERROR local name=${TESTSUITE}.test_${1}.test_log.$(hostname -s).log local test_log=$LOGDIR/$name + local zfs_log_name=${TESTSUITE}.test_${1}.zfs_log + local zfs_debug_log=$LOGDIR/$zfs_log_name rm -rf $LOGDIR/err rm -rf $LOGDIR/ignore rm -rf $LOGDIR/skip @@ -4943,6 +4999,7 @@ run_one_logged() { fi if [ -f $LOGDIR/err ]; then + log_zfs_info "$zfs_debug_log" $FAIL_ON_ERROR && exit $RC fi