@@ -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
159157def 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