Whamcloud - gitweb
EX-2745 tests: limit debug log entries for hot-pools.sh
authorJian Yu <yujian@whamcloud.com>
Mon, 5 Apr 2021 16:27:08 +0000 (09:27 -0700)
committerLi Xi <lixi@ddn.com>
Mon, 26 Apr 2021 14:15:42 +0000 (14:15 +0000)
This patch adds --since "$duration seconds ago" option
to journalctl to gather lamigo and lpurge service debug
logs for the exact runs.

Test-Parameters: trivial testlist=hot-pools,hot-pools
Test-Parameters: trivial testgroup=review-dne-part-2

Change-Id: Idbb81bc4dc7fc669074c1e8f8c156627abe6c610
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/43208
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: John L. Hammond <jhammond@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
lustre/tests/hot-pools.sh

index b47e502..24c9756 100644 (file)
@@ -64,6 +64,7 @@ declare -a LAMIGO_SRVFILE
 declare -a LAMIGO_USERFILE
 declare -a LAMIGO_DUMPFILE
 declare -a LAMIGO_PIDFILE
+declare -a LAMIGO_START_TIME
 
 # lpurge configuration options
 LPURGE_MOUNT=${LPURGE_MOUNT:-"$MOUNT"}
@@ -88,6 +89,7 @@ declare -a LPURGE_SRVFILE
 declare -a LPURGE_DUMPFILE
 declare -a LPURGE_FIDS_DUMPFILE
 declare -a LPURGE_PIDFILE
+declare -a LPURGE_START_TIME
 
 # create OST pools
 create_ost_pools() {
@@ -120,6 +122,7 @@ init_lamigo_vars() {
                LAMIGO_USERFILE+=("/var/lib/lamigo-$mdt.chlg")
                LAMIGO_DUMPFILE+=("/var/run/lamigo-$mdt.stats")
                LAMIGO_PIDFILE+=("/var/run/lamigo-$mdt.pid")
+               LAMIGO_START_TIME+=(0)
        done
 }
 
@@ -140,6 +143,7 @@ init_lpurge_vars() {
                LPURGE_DUMPFILE+=("/var/run/lpurge-$ost.stats")
                LPURGE_FIDS_DUMPFILE+=("/var/run/lpurge-$ost.fids")
                LPURGE_PIDFILE+=("/var/run/lpurge-$ost.pid")
+               LPURGE_START_TIME+=(0)
        done
 
        for i in $(seq $MDSCOUNT); do
@@ -168,11 +172,12 @@ hot_pools_logfile() {
        local facet="$1"
        local tool="${2:-hot_pools}"
        local host="$(facet_active_host $facet)"
+       local service="$(facet_svc $facet)"
 
        local prefix=$TESTLOG_PREFIX
        [[ -z "$TESTNAME" ]] || prefix+=".$TESTNAME"
 
-       printf "${prefix}.${tool}_log.${host}.log"
+       printf "${prefix}.${tool}-${service}_log.${host}.log"
 }
 
 lamigo_logfile() {
@@ -427,6 +432,7 @@ start_one_lamigo_service() {
        create_one_lamigo_service $i
 
        echo "Start lamigo on MDS $(facet_active_host $facet): $start_cmd"
+       LAMIGO_START_TIME[i]=$SECONDS
        do_facet $facet "$start_cmd" || error "failed to start lamigo service"
        sleep 2
        do_facet $facet "$status_cmd"
@@ -446,8 +452,10 @@ stop_one_lamigo_service() {
        local srv_file=${LAMIGO_SRVFILE[i]}
        local pid_file=${LAMIGO_PIDFILE[i]}
        local pid=$(do_facet $facet "cat $pid_file")
+       local duration=$((SECONDS - LAMIGO_START_TIME[i] + 10))
 
-       local jctl_cmd="journalctl -u lamigo-$mdt &> $(lamigo_logfile $facet)"
+       local jctl_cmd="journalctl --since \\\"$duration seconds ago\\\""
+       jctl_cmd+=" -u lamigo-$mdt &> $(lamigo_logfile $facet)"
        local stop_cmd="systemctl stop lamigo-$mdt"
 
        [[ -n "$pid" ]] || { echo "cannot find lamigo PID"; return 0; }
@@ -792,6 +800,7 @@ start_one_lpurge_service() {
        create_one_lpurge_service $i
 
        echo "Start lpurge on OSS $(facet_active_host $facet): $start_cmd"
+       LPURGE_START_TIME[i]=$SECONDS
        do_facet $facet "$start_cmd" || error "failed to start lpurge service"
        sleep 2
        do_facet $facet "$status_cmd"
@@ -811,8 +820,10 @@ stop_one_lpurge_service() {
        local srv_file=${LPURGE_SRVFILE[i]}
        local pid_file=${LPURGE_PIDFILE[i]}
        local pid=$(do_facet $facet "cat $pid_file")
+       local duration=$((SECONDS - LPURGE_START_TIME[i] + 10))
 
-       local jctl_cmd="journalctl -u lpurge-$dev &> $(lpurge_logfile $facet)"
+       local jctl_cmd="journalctl --since \\\"$duration seconds ago\\\""
+       jctl_cmd+=" -u lpurge-$dev &> $(lpurge_logfile $facet)"
        local stop_cmd="systemctl stop lpurge-$dev"
 
        [[ -n "$pid" ]] || { echo "cannot find lpurge PID"; return 0; }