Wait for should consider pending_delete

While deleting glance images consider pending delete as a valid state
for delete since glance scrubber periodically does the actual delete.
Also running a task that involves deleting an image as a user
with the admin role in Glance v1 will result in this behavior.

Change-Id: I40cee3e8118f8e12fe916586d42e53b0ec93e9e7
This commit is contained in:
Srinivas Sakhamuri 2016-05-02 12:41:37 -06:00
parent 537686b056
commit d53d6698fe
6 changed files with 49 additions and 4 deletions

View File

@ -514,6 +514,28 @@
sla:
failure_rate:
max: 0
-
args:
flavor:
name: {{flavor_name}}
image:
name: {{image_name}}
runner:
type: "constant"
times: 2
concurrency: 2
context:
users:
tenants: 2
users_per_tenant: 2
roles:
- admin
api_versions:
glance:
version: 1
sla:
failure_rate:
max: 0
NovaServers.boot_server:
-

View File

@ -869,6 +869,28 @@
failure_rate:
max: 0
-
args:
image_location: "{{ cirros_image_url }}"
container_format: "bare"
disk_format: "qcow2"
runner:
type: "constant"
times: 1
concurrency: 1
context:
users:
tenants: 1
users_per_tenant: 1
api_versions:
glance:
version: 1
roles:
- admin
sla:
failure_rate:
max: 0
GlanceImages.create_and_list_image:
-
args:

View File

@ -129,7 +129,8 @@ class ImageGenerator(context.Context):
for image in self.context["tenants"][tenant_id].get("images", []):
clients.glance().images.delete(image)
utils.wait_for_status(
clients.glance().images.get(image), ["deleted"],
clients.glance().images.get(image),
["deleted", "pending_delete"],
check_deletion=True,
update_resource=glance_wrap.get_image,
timeout=CONF.benchmark.glance_image_delete_timeout,

View File

@ -74,7 +74,7 @@ class GlanceScenario(scenario.OpenStackScenario):
self.clients("glance").images.delete(image.id)
wrapper = glance_wrapper.wrap(self._clients.glance, self)
utils.wait_for_status(
image, ["deleted"],
image, ["deleted", "pending_delete"],
check_deletion=True,
update_resource=wrapper.get_image,
timeout=CONF.benchmark.glance_image_delete_timeout,

View File

@ -470,7 +470,7 @@ class NovaScenario(scenario.OpenStackScenario):
check_interval = CONF.benchmark.nova_server_image_delete_poll_interval
utils.wait_for_status(
image,
ready_statuses=["deleted"],
ready_statuses=["deleted", "pending_delete"],
check_deletion=True,
update_resource=wrapper.get_image,
timeout=CONF.benchmark.nova_server_image_delete_timeout,

View File

@ -415,7 +415,7 @@ class NovaScenarioTestCase(test.ScenarioTestCase):
self.image.id)
self.mock_wait_for_status.mock.assert_called_once_with(
self.image,
ready_statuses=["deleted"],
ready_statuses=["deleted", "pending_delete"],
check_deletion=True,
update_resource=mock_wrap.return_value.get_image,
check_interval=CONF.benchmark.