Merge pull request #463 from gnuoy/resource-wait-attr
Extend resource_reaches_status
This commit is contained in:
@@ -369,12 +369,15 @@ class TestOpenStackUtils(ut_utils.BaseTestCase):
|
||||
'e01df65a')
|
||||
|
||||
def test__resource_reaches_status_bespoke(self):
|
||||
client_mock = mock.MagicMock()
|
||||
resource_mock = mock.MagicMock()
|
||||
resource_mock.get.return_value = mock.MagicMock(status='readyish')
|
||||
resource_mock.special_status = 'readyish'
|
||||
client_mock.get.return_value = resource_mock
|
||||
openstack_utils._resource_reaches_status(
|
||||
resource_mock,
|
||||
client_mock,
|
||||
'e01df65a',
|
||||
'readyish')
|
||||
'readyish',
|
||||
resource_attribute='special_status')
|
||||
|
||||
def test__resource_reaches_status_bespoke_fail(self):
|
||||
resource_mock = mock.MagicMock()
|
||||
|
||||
@@ -1886,7 +1886,8 @@ def download_image(image_url, target_file):
|
||||
|
||||
def _resource_reaches_status(resource, resource_id,
|
||||
expected_status='available',
|
||||
msg='resource'):
|
||||
msg='resource',
|
||||
resource_attribute='status'):
|
||||
"""Wait for an openstack resources status to reach an expected status.
|
||||
|
||||
Wait for an openstack resources status to reach an expected status
|
||||
@@ -1902,9 +1903,11 @@ def _resource_reaches_status(resource, resource_id,
|
||||
:type expected_status: str
|
||||
:param msg: text to identify purpose in logging
|
||||
:type msg: str
|
||||
:param resource_attribute: Resource attribute to check against
|
||||
:type resource_attribute: str
|
||||
:raises: AssertionError
|
||||
"""
|
||||
resource_status = resource.get(resource_id).status
|
||||
resource_status = getattr(resource.get(resource_id), resource_attribute)
|
||||
logging.info("{}: resource {} in {} state, waiting for {}".format(
|
||||
msg, resource_id, resource_status, expected_status))
|
||||
assert resource_status == expected_status
|
||||
@@ -1914,6 +1917,7 @@ def resource_reaches_status(resource,
|
||||
resource_id,
|
||||
expected_status='available',
|
||||
msg='resource',
|
||||
resource_attribute='status',
|
||||
wait_exponential_multiplier=1,
|
||||
wait_iteration_max_time=60,
|
||||
stop_after_attempt=8,
|
||||
@@ -1933,6 +1937,8 @@ def resource_reaches_status(resource,
|
||||
:type expected_status: str
|
||||
:param msg: text to identify purpose in logging
|
||||
:type msg: str
|
||||
:param resource_attribute: Resource attribute to check against
|
||||
:type resource_attribute: str
|
||||
:param wait_exponential_multiplier: Wait 2^x * wait_exponential_multiplier
|
||||
seconds between each retry
|
||||
:type wait_exponential_multiplier: int
|
||||
@@ -1954,7 +1960,8 @@ def resource_reaches_status(resource,
|
||||
resource,
|
||||
resource_id,
|
||||
expected_status,
|
||||
msg)
|
||||
msg,
|
||||
resource_attribute)
|
||||
|
||||
|
||||
def _resource_removed(resource, resource_id, msg="resource"):
|
||||
|
||||
Reference in New Issue
Block a user