From a214ebde24545815eaf566ce56b6429a60ff3b6e Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Tue, 25 May 2021 06:11:49 +0000 Subject: [PATCH 1/6] generate_dump script update added Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 21d4a4e0c8..bf0e10bf59 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -1005,6 +1005,31 @@ save_counter_snapshot() { save_cmd_all_ns "ifconfig -a" "ifconfig.counters_$idx" } +############################################################################### +# save the debug dump output +############################################################################### +save_dump_state_all_ns() { + IFS=';' + read -ra MODULES <<< "$(dump state -a)" + local UVDUMP="unified_view_dump" + + $MKDIR $V -p $LOGDIR/$UVDUMP + + for addr in "${MODULES[@]}"; + do + save_cmd_all_ns "dump state $addr all --key-map" "$UVDUMP/$addr" + if [[ ( "$NUM_ASICS" > 1 ) ]] ; then + for (( i=0; i<$NUM_ASICS; i++ )) + do + local cmd="dump state $addr all --key-map --namespace asic$i" + local file="$UVDUMP/$addr.$i" + save_cmd "$cmd" "$file" + done + fi + done +} + + ############################################################################### # Main generate_dump routine # Globals: @@ -1116,7 +1141,8 @@ main() { save_nat_info save_bfd_info save_redis_info - + save_dump_state_all_ns + save_cmd "docker ps -a" "docker.ps" save_cmd "docker top pmon" "docker.pmon" From c7261c334cd26df6f8e9b4b740b195468bd6702f Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Thu, 3 Jun 2021 17:15:33 +0000 Subject: [PATCH 2/6] Replace -a option with -s Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index bf0e10bf59..d4e456c7bd 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -1009,20 +1009,19 @@ save_counter_snapshot() { # save the debug dump output ############################################################################### save_dump_state_all_ns() { - IFS=';' - read -ra MODULES <<< "$(dump state -a)" + MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" local UVDUMP="unified_view_dump" - + echo "Modules Available to Generate Debug Dump Output" $MKDIR $V -p $LOGDIR/$UVDUMP - for addr in "${MODULES[@]}"; + for addr in $MODULES; do save_cmd_all_ns "dump state $addr all --key-map" "$UVDUMP/$addr" if [[ ( "$NUM_ASICS" > 1 ) ]] ; then for (( i=0; i<$NUM_ASICS; i++ )) do local cmd="dump state $addr all --key-map --namespace asic$i" - local file="$UVDUMP/$addr.$i" + local file="$UVDUMP/$addr.asic$i" save_cmd "$cmd" "$file" done fi From 0803b089de3955955663eb3b34efbbf24a466796 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Thu, 3 Jun 2021 19:46:25 +0000 Subject: [PATCH 3/6] Minor Commenting Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index d4e456c7bd..5fe591a3ec 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -1011,7 +1011,8 @@ save_counter_snapshot() { save_dump_state_all_ns() { MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" local UVDUMP="unified_view_dump" - echo "Modules Available to Generate Debug Dump Output" + echo "DEBUG DUMP: Modules Available to Generate Debug Dump Output" + echo $MODULES $MKDIR $V -p $LOGDIR/$UVDUMP for addr in $MODULES; From 7e5a0989625ace483b34060161ded1ae5d1dd8aa Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Wed, 9 Jun 2021 08:32:46 +0000 Subject: [PATCH 4/6] Addressed comments Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 5fe591a3ec..4d3b96966c 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -1017,7 +1017,7 @@ save_dump_state_all_ns() { for addr in $MODULES; do - save_cmd_all_ns "dump state $addr all --key-map" "$UVDUMP/$addr" + save_cmd "dump state $addr all --key-map" "$UVDUMP/$addr" if [[ ( "$NUM_ASICS" > 1 ) ]] ; then for (( i=0; i<$NUM_ASICS; i++ )) do From 9c8b137470e13fd32c15178324813d7d1147bb8b Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Sat, 21 Aug 2021 02:04:17 +0000 Subject: [PATCH 5/6] Made the Debug Dump Execution optional Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 13 ++++++++++++- show/main.py | 7 ++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 4b6c622fe5..4869a44c6d 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -38,6 +38,7 @@ HOME=${HOME:-/root} USER=${USER:-root} TIMEOUT_MIN="5" SKIP_BCMCMD=0 +DEBUG_DUMP=false handle_signal() { @@ -1019,6 +1020,11 @@ save_counter_snapshot() { # save the debug dump output ############################################################################### save_dump_state_all_ns() { + if ! $DEBUG_DUMP + then + return 0 + fi + MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" local UVDUMP="unified_view_dump" echo "DEBUG DUMP: Modules Available to Generate Debug Dump Output" @@ -1288,11 +1294,13 @@ OPTIONS "24 March", "yesterday", etc. -t TIMEOUT_MINS Command level timeout in minutes + -d + Collect the output of debug dump cli EOF } -while getopts ":xnvhzas:t:" opt; do +while getopts ":xnvhzas:t:d" opt; do case $opt in x) # enable bash debugging @@ -1334,6 +1342,9 @@ while getopts ":xnvhzas:t:" opt; do t) TIMEOUT_MIN="${OPTARG}" ;; + d) + DEBUG_DUMP=true + ;; /?) echo "Invalid option: -$OPTARG" >&2 exit 1 diff --git a/show/main.py b/show/main.py index ac2cb51ac9..5ac20482eb 100755 --- a/show/main.py +++ b/show/main.py @@ -1016,7 +1016,8 @@ def users(verbose): @click.option('--verbose', is_flag=True, help="Enable verbose output") @click.option('--allow-process-stop', is_flag=True, help="Dump additional data which may require system interruption") @click.option('--silent', is_flag=True, help="Run techsupport in silent mode") -def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent): +@click.option('--debug-dump', is_flag=True, help="Collect Debug Dump Output") +def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, silent, debug_dump): """Gather information for troubleshooting""" cmd = "sudo timeout -s SIGTERM --foreground {}m".format(global_timeout) @@ -1031,6 +1032,10 @@ def techsupport(since, global_timeout, cmd_timeout, verbose, allow_process_stop, if since: cmd += " -s '{}'".format(since) + + if debug_dump: + cmd += " -d " + cmd += " -t {}".format(cmd_timeout) run_command(cmd, display_cmd=verbose) From e487ebd6c21068a024b5c1a2b614dbe5e5c21288 Mon Sep 17 00:00:00 2001 From: Vivek Reddy Karri Date: Thu, 26 Aug 2021 23:22:53 +0000 Subject: [PATCH 6/6] Addressed comments Signed-off-by: Vivek Reddy Karri --- scripts/generate_dump | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/scripts/generate_dump b/scripts/generate_dump index 4869a44c6d..87d9fa4496 100755 --- a/scripts/generate_dump +++ b/scripts/generate_dump @@ -1020,11 +1020,6 @@ save_counter_snapshot() { # save the debug dump output ############################################################################### save_dump_state_all_ns() { - if ! $DEBUG_DUMP - then - return 0 - fi - MODULES="$(dump state -s | sed '1d;2d' | awk '{print $1}')" local UVDUMP="unified_view_dump" echo "DEBUG DUMP: Modules Available to Generate Debug Dump Output" @@ -1157,8 +1152,12 @@ main() { save_nat_info save_bfd_info save_redis_info - save_dump_state_all_ns - + + if $DEBUG_DUMP + then + save_dump_state_all_ns + fi + save_cmd "docker ps -a" "docker.ps" save_cmd "docker top pmon" "docker.pmon"