Merge "Log request-id in test_delete_server_while_in_verify_resize_state test"

This commit is contained in:
Zuul 2024-07-02 11:27:13 +00:00 committed by Gerrit Code Review
commit 36e0b2a714
2 changed files with 17 additions and 9 deletions

View File

@ -99,11 +99,14 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
def test_delete_server_while_in_verify_resize_state(self):
"""Test deleting a server while it's VM state is VERIFY_RESIZE"""
server = self.create_test_server(wait_until='ACTIVE')
self.client.resize_server(server['id'], self.flavor_ref_alt)
waiters.wait_for_server_status(self.client, server['id'],
'VERIFY_RESIZE')
self.client.delete_server(server['id'])
waiters.wait_for_server_termination(self.client, server['id'])
body = self.client.resize_server(server['id'], self.flavor_ref_alt)
request_id = body.response['x-openstack-request-id']
waiters.wait_for_server_status(
self.client, server['id'], 'VERIFY_RESIZE', request_id=request_id)
body = self.client.delete_server(server['id'])
request_id = body.response['x-openstack-request-id']
waiters.wait_for_server_termination(
self.client, server['id'], request_id=request_id)
@decorators.idempotent_id('d0f3f0d6-d9b6-4a32-8da4-23015dcab23c')
@utils.services('volume')

View File

@ -103,7 +103,8 @@ def wait_for_server_status(client, server_id, status, ready_wait=True,
old_task_state = task_state
def wait_for_server_termination(client, server_id, ignore_error=False):
def wait_for_server_termination(client, server_id, ignore_error=False,
request_id=None):
"""Waits for server to reach termination."""
try:
body = client.show_server(server_id)['server']
@ -126,9 +127,13 @@ def wait_for_server_termination(client, server_id, ignore_error=False):
'/'.join((server_status, str(task_state))),
time.time() - start_time)
if server_status == 'ERROR' and not ignore_error:
raise lib_exc.DeleteErrorException(
"Server %s failed to delete and is in ERROR status" %
server_id)
details = ("Server %s failed to delete and is in ERROR status." %
server_id)
if 'fault' in body:
details += ' Fault: %s.' % body['fault']
if request_id:
details += ' Server delete request ID: %s.' % request_id
raise lib_exc.DeleteErrorException(details, server_id=server_id)
if server_status == 'SOFT_DELETED':
# Soft-deleted instances need to be forcibly deleted to