Skip to content

Commit d1ba977

Browse files
congh-nvidiamssonicbld
authored andcommitted
Fix test issues in the dpu platform test (#19181)
1. Need a post check after restarting pmon, otherwise the pmon could not fully started and it will fail the next case. 2. Need to restore the DPU admin on status if the check after shutdown DPUs fails. Change-Id: I80538d3a66b9c5c7d590f51d7c6703f62e982fe4
1 parent 7d32f38 commit d1ba977

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

tests/smartswitch/platform_tests/test_platform_dpu.py

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,14 @@ def test_pcie_link(duthosts, dpuhosts,
105105
dpus_shutdown_and_check(duthost, dpu_on_list, num_dpu_modules)
106106

107107
output_pcie_info = duthost.command(CMD_PCIE_INFO)["stdout_lines"]
108-
pytest_assert(output_pcie_info[-1] ==
109-
'PCIe Device Checking All Test ----------->>> PASSED',
110-
"PCIe Link test failed'{}'".format(duthost.hostname))
111-
112-
for index in range(len(dpu_on_list)):
113-
duthost.shell("sudo config chassis modules \
114-
startup %s" % (dpu_on_list[index]))
108+
try:
109+
pytest_assert(output_pcie_info[-1] ==
110+
'PCIe Device Checking All Test ----------->>> PASSED',
111+
"PCIe Link test failed'{}'".format(duthost.hostname))
112+
finally:
113+
for index in range(len(dpu_on_list)):
114+
duthost.shell("sudo config chassis modules \
115+
startup %s" % (dpu_on_list[index]))
115116

116117
post_test_dpus_check(duthost, dpuhosts, dpu_on_list, ip_address_list, num_dpu_modules, "Non-Hardware")
117118

@@ -123,28 +124,23 @@ def test_pcie_link(duthosts, dpuhosts,
123124
"PCIe Link test failed'{}'".format(duthost.hostname))
124125

125126

126-
def test_restart_pmon(duthosts, enum_rand_one_per_hwsku_hostname,
127+
def test_restart_pmon(duthosts, dpuhosts, enum_rand_one_per_hwsku_hostname,
127128
platform_api_conn, num_dpu_modules): # noqa: F811
128129
"""
129130
@summary: Verify `DPU status and pcie Link after restart pmon`
130131
"""
131132
duthost = duthosts[enum_rand_one_per_hwsku_hostname]
132133
ip_address_list = []
133134

135+
ip_address_list, dpu_on_list, dpu_off_list = pre_test_check(
136+
duthost,
137+
platform_api_conn,
138+
num_dpu_modules)
139+
134140
logging.info("Checking pmon status")
135141
pmon_status = check_pmon_status(duthost)
136142
pytest_assert(pmon_status == 1, "PMON status is Not UP")
137143

138-
for index in range(num_dpu_modules):
139-
dpu_name = module.get_name(platform_api_conn, index)
140-
rc = check_dpu_module_status(duthost, "on", dpu_name)
141-
if rc:
142-
ip_address_list.append(
143-
module.get_midplane_ip(platform_api_conn, index))
144-
145-
ping_status = check_dpu_ping_status(duthost, ip_address_list)
146-
pytest_assert(ping_status == 1, "Ping to one or more DPUs has failed")
147-
148144
logging.info("Restarting pmon....")
149145
duthost.shell("systemctl restart pmon")
150146

@@ -155,6 +151,8 @@ def test_restart_pmon(duthosts, enum_rand_one_per_hwsku_hostname,
155151
pmon_status = check_pmon_status(duthost)
156152
pytest_assert(pmon_status == 1, "PMON status is Not UP")
157153

154+
post_test_dpus_check(duthost, dpuhosts, dpu_on_list, ip_address_list, num_dpu_modules, "Non-Hardware")
155+
158156

159157
def test_system_health_state(duthosts, enum_rand_one_per_hwsku_hostname,
160158
platform_api_conn, num_dpu_modules): # noqa: F811
@@ -170,9 +168,14 @@ def test_system_health_state(duthosts, enum_rand_one_per_hwsku_hostname,
170168
logging.info("Shutting DOWN the DPUs in parallel")
171169
dpus_shutdown_and_check(duthost, dpu_on_list, num_dpu_modules)
172170

173-
for index in range(len(dpu_on_list)):
174-
check_dpu_health_status(duthost, dpu_on_list[index],
175-
'Offline', 'down')
171+
try:
172+
for index in range(len(dpu_on_list)):
173+
check_dpu_health_status(duthost, dpu_on_list[index],
174+
'Offline', 'down')
175+
finally:
176+
for index in range(len(dpu_on_list)):
177+
duthost.shell("sudo config chassis modules \
178+
startup %s" % (dpu_on_list[index]))
176179

177180
logging.info("Starting UP the DPUs in parallel")
178181
dpus_startup_and_check(duthost, dpu_on_list, num_dpu_modules)

0 commit comments

Comments
 (0)