Revert "Remove wait_for_server from create_image_from_server"
The kwarg really is used - and some virt drivers break without this extra wait.
For example, the XenServer CI became unstable again without this fix
Note that this fix was originally added to ensure stability in this CI
environment (fixing bug 1258635)
This reverts commit 621544cc96
.
Change-Id: I1547bf3ee4bb7a6c1552d0c1fa90280af1a9802c
This commit is contained in:
parent
9913cbbb4c
commit
5fe623966e
@ -326,6 +326,10 @@ class BaseV2ComputeTest(api_version_utils.BaseMicroversionTest,
|
||||
raise
|
||||
image = cls.compute_images_client.show_image(image_id)['image']
|
||||
|
||||
if kwargs['wait_until'] == 'ACTIVE':
|
||||
if kwargs.get('wait_for_server', True):
|
||||
waiters.wait_for_server_status(cls.servers_client,
|
||||
server_id, 'ACTIVE')
|
||||
return image
|
||||
|
||||
@classmethod
|
||||
|
@ -60,6 +60,7 @@ class ImagesTestJSON(base.BaseV2ComputeTest):
|
||||
snapshot_name = data_utils.rand_name('test-snap')
|
||||
image = self.create_image_from_server(server['id'],
|
||||
name=snapshot_name,
|
||||
wait_until='ACTIVE')
|
||||
wait_until='ACTIVE',
|
||||
wait_for_server=False)
|
||||
self.addCleanup(self.client.delete_image, image['id'])
|
||||
self.assertEqual(snapshot_name, image['name'])
|
||||
|
@ -48,10 +48,14 @@ class TestBaseV2ComputeTest(base.TestCase):
|
||||
|
||||
@mock.patch.multiple(compute_base.BaseV2ComputeTest,
|
||||
compute_images_client=mock.DEFAULT,
|
||||
servers_client=mock.DEFAULT,
|
||||
images=[], create=True)
|
||||
@mock.patch.object(waiters, 'wait_for_image_status')
|
||||
@mock.patch.object(waiters, 'wait_for_server_status')
|
||||
def test_create_image_from_server_wait_until_active(self,
|
||||
wait_for_server_status,
|
||||
wait_for_image_status,
|
||||
servers_client,
|
||||
compute_images_client):
|
||||
"""Tests create_image_from_server with wait_until='ACTIVE' kwarg."""
|
||||
# setup mocks
|
||||
@ -67,6 +71,35 @@ class TestBaseV2ComputeTest(base.TestCase):
|
||||
# make our assertions
|
||||
wait_for_image_status.assert_called_once_with(
|
||||
compute_images_client, image_id, 'ACTIVE')
|
||||
wait_for_server_status.assert_called_once_with(
|
||||
servers_client, mock.sentinel.server_id, 'ACTIVE')
|
||||
compute_images_client.show_image.assert_called_once_with(image_id)
|
||||
|
||||
@mock.patch.multiple(compute_base.BaseV2ComputeTest,
|
||||
compute_images_client=mock.DEFAULT,
|
||||
servers_client=mock.DEFAULT,
|
||||
images=[], create=True)
|
||||
@mock.patch.object(waiters, 'wait_for_image_status')
|
||||
@mock.patch.object(waiters, 'wait_for_server_status')
|
||||
def test_create_image_from_server_wait_until_active_no_server_wait(
|
||||
self, wait_for_server_status, wait_for_image_status,
|
||||
servers_client, compute_images_client):
|
||||
"""Tests create_image_from_server with wait_until='ACTIVE' kwarg."""
|
||||
# setup mocks
|
||||
image_id = uuidutils.generate_uuid()
|
||||
fake_image = mock.Mock(response={'location': image_id})
|
||||
compute_images_client.create_image.return_value = fake_image
|
||||
compute_images_client.show_image.return_value = (
|
||||
{'image': fake_image})
|
||||
# call the utility method
|
||||
image = compute_base.BaseV2ComputeTest.create_image_from_server(
|
||||
mock.sentinel.server_id, wait_until='ACTIVE',
|
||||
wait_for_server=False)
|
||||
self.assertEqual(fake_image, image)
|
||||
# make our assertions
|
||||
wait_for_image_status.assert_called_once_with(
|
||||
compute_images_client, image_id, 'ACTIVE')
|
||||
self.assertEqual(0, wait_for_server_status.call_count)
|
||||
compute_images_client.show_image.assert_called_once_with(image_id)
|
||||
|
||||
@mock.patch.multiple(compute_base.BaseV2ComputeTest,
|
||||
|
Loading…
Reference in New Issue
Block a user