Updating download_with_retry function
Older versions of tenacity doesn't support iterator in the Retrying class, so updating the function to use the decorator instead, so we can keep compatibility. Change-Id: I33fa112975f355cf4f4396ec331200b15a366161
This commit is contained in:
parent
33b2a939b5
commit
2e09b75839
@ -22,16 +22,25 @@ from functools import wraps
|
||||
|
||||
from six.moves import urllib
|
||||
from tempest.lib import exceptions
|
||||
from tenacity import RetryError
|
||||
from tenacity import Retrying
|
||||
from tenacity import retry
|
||||
from tenacity import stop_after_attempt
|
||||
|
||||
from config_tempest import constants as C
|
||||
from config_tempest.services.base import VersionedService
|
||||
|
||||
|
||||
stop = stop_after_attempt(len(C.DEFAULT_IMAGES))
|
||||
|
||||
|
||||
class ImageService(VersionedService):
|
||||
|
||||
def __init__(self, name, s_type, service_url, token,
|
||||
disable_ssl_validation, client=None, **kwargs):
|
||||
super(ImageService, self).__init__(
|
||||
name, s_type, service_url, token, disable_ssl_validation,
|
||||
client, **kwargs)
|
||||
self.retry_attempt = -1
|
||||
|
||||
def set_image_preferences(self, disk_format, non_admin, no_rng=False,
|
||||
convert=False):
|
||||
"""Sets image prefferences.
|
||||
@ -178,17 +187,10 @@ class ImageService(VersionedService):
|
||||
image = self._upload_image(image_name, image_dest)
|
||||
return image['id']
|
||||
|
||||
@retry(stop=stop)
|
||||
def _download_with_retry(self, destination):
|
||||
retry_attempt = -1
|
||||
attempts = len(C.DEFAULT_IMAGES)
|
||||
try:
|
||||
for attempt in Retrying(stop=stop_after_attempt(attempts)):
|
||||
retry_attempt += 1
|
||||
with attempt:
|
||||
self._download_file(C.DEFAULT_IMAGES[retry_attempt],
|
||||
destination)
|
||||
except RetryError:
|
||||
pass
|
||||
self.retry_attempt += 1
|
||||
self._download_file(C.DEFAULT_IMAGES[self.retry_attempt], destination)
|
||||
|
||||
def _find_image(self, image_id, image_name):
|
||||
"""Find image by ID or name (the image client doesn't have this).
|
||||
|
@ -8,5 +8,5 @@ tempest>=14.0.0 # Apache-2.0
|
||||
requests>=2.10.0,!=2.12.2 # Apache-2.0
|
||||
openstacksdk>=0.11.3 # Apache-2.0
|
||||
oslo.config>=3.23.0 # Apache-2.0
|
||||
tenacity
|
||||
tenacity>=5.1.1
|
||||
PyYAML>=3.12 # MIT
|
||||
|
Loading…
Reference in New Issue
Block a user