Skip to content

Commit 329fc22

Browse files
authored
Add support of the pensando-dpu platform to generate-dump utility. (sonic-net#3557)
#### What I did Add support of the pensando-dpu platform to generate-dump utility to collect platform-specific dumps on Pensando DPU. #### How I did it Extend platform-specific section of generate-dump utility #### How to verify it Run "show techsupport" command to generate dump file. Verify that `{dpu_container}_techsupport` directory exists in the created dump file. #### show techsupport command output logs:- ``` { cat }; docker exec syncd saidump | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_045531/dump/saidump'" mkdir: created directory '/root/dpu_dump' timeout --foreground 5m sudo docker exec polaris touch /data/techsupport//DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz timeout --foreground 5m sudo docker cp polaris:/data/techsupport//DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz /root/dpu_dump mkdir: created directory '/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport' removed '/root/dpu_dump/DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz' removed directory '/root/dpu_dump' timeout --foreground 5m bash -c "dummy_cleanup_method () { cat }; echo 10/09/2024 04:57:43:857701 | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_045531/dump/date.counter_2'" ``` ``` sonic_dump_sonic_20240910_045531/proc/iomem sonic_dump_sonic_20240910_045531/polaris_techsupport/ sonic_dump_sonic_20240910_045531/polaris_techsupport/DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz sonic_dump_sonic_20240910_045531/core/ ``` ``` root@sonic:/home/admin# cd /var/dump/ root@sonic:/var/dump# ls sonic_dump_sonic_20240910_045531.tar.gz root@sonic:/var/dump# tar -xzf sonic_dump_sonic_20240910_045531.tar.gz root@sonic:/var/dump# cd sonic_dump_sonic_20240910_045531/ root@sonic:/var/dump/sonic_dump_sonic_20240910_045531# cd polaris_techsupport/ root@sonic:/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport# ls DSC_TechSupport_b08d.57cd.360f_2024-09-10_04-57-04_1725944224.tar.gz root@sonic:/var/dump/sonic_dump_sonic_20240910_045531/polaris_techsupport# ``` #### /usr/local/bin/generate_dump -n output ``` { cat }; docker exec syncd saidump | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_050411/dump/saidump'" mkdir -p /root/dpu_dump docker exec polaris /nic/tools/collect_techsupport.sh rm -rf /root/dpu_dump mkdir -p /var/dump/sonic_dump_sonic_20240910_050411/dump timeout --foreground 5m bash -c "dummy_cleanup_method () { cat }; echo 10/09/2024 05:04:40:130209 | dummy_cleanup_method &> '/var/dump/sonic_dump_sonic_20240910_050411/dump/date.counter_2'" ```
1 parent 0ae2ec1 commit 329fc22

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

scripts/generate_dump

+43
Original file line numberDiff line numberDiff line change
@@ -1688,6 +1688,45 @@ collect_nvidia_bluefield() {
16881688
fi
16891689
}
16901690

1691+
###############################################################################
1692+
# Collect Pensando specific information
1693+
# Globals:
1694+
# MKDIR
1695+
# V
1696+
# NOOP
1697+
# RM
1698+
# Arguments:
1699+
# None
1700+
# Returns:
1701+
# None
1702+
###############################################################################
1703+
collect_pensando() {
1704+
trap 'handle_error $? $LINENO' ERR
1705+
platform=$(grep 'onie_platform=' /host/machine.conf | cut -d '=' -f 2)
1706+
pipeline=`cat /usr/share/sonic/device/${platform}/default_pipeline`
1707+
if [ ${pipeline} = "polaris" ]; then
1708+
dpu_container_name="polaris"
1709+
else
1710+
dpu_container_name="dpu"
1711+
fi
1712+
local dpu_dump_folder="/root/dpu_dump"
1713+
$MKDIR $V -p $dpu_dump_folder
1714+
if $NOOP; then
1715+
echo "docker exec ${dpu_container_name} /nic/tools/collect_techsupport.sh"
1716+
else
1717+
output=$(docker exec ${dpu_container_name} /nic/tools/collect_techsupport.sh 2>&1)
1718+
if echo "${output}" | grep -q "Techsupport collected at"; then
1719+
file_path=$(echo "${output}" | grep -oP '(?<=Techsupport collected at ).*')
1720+
file_name=$(basename "${file_path}")
1721+
copy_from_docker ${dpu_container_name} ${file_path} ${dpu_dump_folder}
1722+
save_file ${dpu_dump_folder}/${file_name} ${dpu_container_name}_techsupport false
1723+
else
1724+
echo "Failed to collect ${dpu_container_name} container techsupport..."
1725+
fi
1726+
fi
1727+
$RM $V -rf $dpu_dump_folder
1728+
}
1729+
16911730
###############################################################################
16921731
# Save log file
16931732
# Globals:
@@ -2122,6 +2161,10 @@ main() {
21222161
collect_marvell
21232162
fi
21242163

2164+
if [ "$asic" = "pensando" ]; then
2165+
collect_pensando
2166+
fi
2167+
21252168

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

0 commit comments

Comments
 (0)