Skip to content

Commit

Permalink
Add support of the pensando-dpu platform to generate-dump utility.
Browse files Browse the repository at this point in the history
Signed-off-by: Bhukya Siddhu <[email protected]>
  • Loading branch information
shanshri committed Sep 27, 2024
1 parent ed62489 commit 77dec31
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions scripts/generate_dump
Original file line number Diff line number Diff line change
Expand Up @@ -1676,6 +1676,56 @@ collect_nvidia_bluefield() {
fi
}

###############################################################################
# Collect Pensando specific information
# Globals:
# MKDIR
# V
# NOOP
# RM
# Arguments:
# None
# Returns:
# None
###############################################################################
collect_pensando() {
trap 'handle_error $? $LINENO' ERR
platform=$(grep 'onie_platform=' /host/machine.conf | cut -d '=' -f 2)
pipeline=`cat /usr/share/sonic/device/${platform}/default_pipeline`
if [ ${pipeline} = "polaris" ]; then
dpu_container_name="polaris"
else
dpu_container_name="dpu"
fi
local dpu_dump_folder="/root/dpu_dump"
$MKDIR $V -p $dpu_dump_folder
if $NOOP; then
echo "docker exec ${dpu_container_name} /nic/tools/collect_techsupport.sh"
else
output=$(docker exec ${dpu_container_name} /nic/tools/collect_techsupport.sh 2>&1)
exit_code=$?
if echo "${output}" | grep -q "Techsupport log file is at"; then
log_file_path=$(echo "${output}" | grep -oP '(?<=Techsupport log file is at ).*')
log_file_name=$(basename "${log_file_path}")
copy_from_docker ${dpu_container_name} ${log_file_path} ${dpu_dump_folder}
save_file ${dpu_dump_folder}/${log_file_name} ${dpu_container_name}_techsupport false
else
echo "${dpu_container_name} container techsupport log file is not generated..."
fi
if { [ ${exit_code} -eq 0 ] && echo "${output}" | grep -qv "Continuing with already running TS threads.."; } || [ ${exit_code} -eq 11 ]; then
if echo "${output}" | grep -q "Techsupport collected at"; then
file_path=$(echo "${output}" | grep -oP '(?<=Techsupport collected at ).*')
file_name=$(basename "${file_path}")
copy_from_docker ${dpu_container_name} ${file_path} ${dpu_dump_folder}
save_file ${dpu_dump_folder}/${file_name} ${dpu_container_name}_techsupport false
fi
else
echo "Failed to collect ${dpu_container_name} container techsupport..."
fi
fi
$RM $V -rf $dpu_dump_folder
}

###############################################################################
# Save log file
# Globals:
Expand Down Expand Up @@ -2110,6 +2160,10 @@ main() {
collect_marvell
fi

if [ "$asic" = "pensando" ]; then
collect_pensando
fi


# 2nd counter snapshot late. Need 2 snapshots to make sense of counters trend.
save_counter_snapshot $asic 2
Expand Down

0 comments on commit 77dec31

Please sign in to comment.