diff --git a/tempest/lib/services/compute/images_client.py b/tempest/lib/services/compute/images_client.py index 4a55ce7cc2..da8a61eb50 100644 --- a/tempest/lib/services/compute/images_client.py +++ b/tempest/lib/services/compute/images_client.py @@ -131,8 +131,10 @@ class ImagesClient(base_compute_client.BaseComputeClient): return rest_client.ResponseBody(resp, body) def is_resource_deleted(self, id): + # Added status check for user with admin role try: - self.show_image(id) + if self.show_image(id)['image']['status'] == 'DELETED': + return True except lib_exc.NotFound: return True return False diff --git a/tempest/services/image/v1/json/images_client.py b/tempest/services/image/v1/json/images_client.py index 3f256ec3f9..e29ff89466 100644 --- a/tempest/services/image/v1/json/images_client.py +++ b/tempest/services/image/v1/json/images_client.py @@ -213,7 +213,8 @@ class ImagesClient(rest_client.RestClient): def is_resource_deleted(self, id): try: - self.get_image_meta(id) + if self.get_image_meta(id)['status'] == 'deleted': + return True except lib_exc.NotFound: return True return False diff --git a/tempest/tests/lib/services/compute/test_images_client.py b/tempest/tests/lib/services/compute/test_images_client.py index 28757c39fa..3ebc27ffbc 100644 --- a/tempest/tests/lib/services/compute/test_images_client.py +++ b/tempest/tests/lib/services/compute/test_images_client.py @@ -186,7 +186,7 @@ class TestImagesClient(base.BaseComputeServiceTest): def _test_resource_deleted(self, bytes_body=False): params = {"id": self.FAKE_IMAGE_ID} - expected_op = self.FAKE_IMAGE_DATA['show']['image'] + expected_op = self.FAKE_IMAGE_DATA['show'] self.useFixture(mockpatch.Patch('tempest.lib.services.compute' '.images_client.ImagesClient.show_image', side_effect=lib_exc.NotFound))