@@ -229,32 +229,33 @@ def run(self, image, port, protocol, image_pull_policy='IfNotPresent',
229
229
else :
230
230
ip = "://" + server [:server .index (":" ) + 1 ]
231
231
url = ("http" + ip + str (node_port ) + "/" )
232
- while i < retries_total :
233
- try :
234
- kwargs = {}
235
- if request_timeout :
236
- kwargs ["timeout" ] = request_timeout
237
- requests .get (url , ** kwargs )
238
- except (requests .ConnectionError , requests .ReadTimeout ) as ex :
239
- if i < retries_total :
240
- i += 1
241
- commonutils .interruptable_sleep (sleep_time )
232
+ try :
233
+ while i < retries_total :
234
+ try :
235
+ kwargs = {}
236
+ if request_timeout :
237
+ kwargs ["timeout" ] = request_timeout
238
+ requests .get (url , ** kwargs )
239
+ except (requests .ConnectionError , requests .ReadTimeout ) as ex :
240
+ if i < retries_total :
241
+ i += 1
242
+ commonutils .interruptable_sleep (sleep_time )
243
+ if i == retries_total :
244
+ raise exceptions .RallyException (
245
+ message = "Unable to get response "
246
+ "from %(url)s: %(ex)s" % {
247
+ "url" : url ,
248
+ "ex" : str (ex )
249
+ })
242
250
else :
243
- raise exceptions .RallyException (
244
- message = "Unable to get response "
245
- "from %(url)s: %(ex)s" % {
246
- "url" : url ,
247
- "ex" : str (ex )
248
- })
249
- else :
250
- break
251
-
252
- self .client .delete_service (name , namespace = namespace )
253
- self .client .delete_pod (
254
- name ,
255
- namespace = namespace ,
256
- status_wait = status_wait
257
- )
251
+ break
252
+ finally :
253
+ self .client .delete_service (name , namespace = namespace )
254
+ self .client .delete_pod (
255
+ name ,
256
+ namespace = namespace ,
257
+ status_wait = status_wait
258
+ )
258
259
259
260
260
261
@scenario .configure (
0 commit comments