Add api for instance action details
There is the List Actions For Server API already provide in [1], but the Show Server Action Details API [2] is often used too, so add the show instance action details api, and replace it into the used use case. [1]https://docs.openstack.org/api-ref/compute/?expanded=#list-actions-for-server https://github.com/openstack/nova/blob/stable/train/nova/tests/functional/api/client.py#L428 [2]https://docs.openstack.org/api-ref/compute/?expanded=#show-server-action-details Change-Id: I4d02f9ab3b87d741642cbc9ac263b0dd7617ad97
This commit is contained in:
parent
bbda16f634
commit
7ef623e6ec
|
@ -403,6 +403,10 @@ class TestOpenStackClient(object):
|
|||
return self.api_get('/servers/%s/os-instance-actions' %
|
||||
(server_id)).body['instanceActions']
|
||||
|
||||
def get_instance_action_details(self, server_id, request_id):
|
||||
return self.api_get('/servers/%s/os-instance-actions/%s' %
|
||||
(server_id, request_id)).body['instanceAction']
|
||||
|
||||
def post_aggregate(self, aggregate):
|
||||
return self.api_post('/os-aggregates', aggregate).body['aggregate']
|
||||
|
||||
|
|
|
@ -168,10 +168,8 @@ class InstanceHelperMixin(object):
|
|||
if action['action'] != action_name:
|
||||
continue
|
||||
|
||||
events = api.api_get(
|
||||
'/servers/%s/os-instance-actions/%s' % (
|
||||
server['id'], action['request_id'])
|
||||
).body['instanceAction']['events']
|
||||
events = api.get_instance_action_details(server['id'],
|
||||
action['request_id'])['events']
|
||||
|
||||
# Look for the action event being in error state.
|
||||
for event in events:
|
||||
|
|
|
@ -59,10 +59,8 @@ class ServerExternalEventsTestV276(
|
|||
acts = {action['action']: action for action in actions}
|
||||
self.assertEqual(['create', 'stop'], sorted(acts))
|
||||
stop_action = acts[instance_actions.STOP]
|
||||
detail = self.api.api_get(
|
||||
'/servers/%s/os-instance-actions/%s' % (
|
||||
server['id'], stop_action['request_id'])
|
||||
).body['instanceAction']
|
||||
detail = self.api.get_instance_action_details(server['id'],
|
||||
stop_action['request_id'])
|
||||
events_by_name = {event['event']: event for event in detail['events']}
|
||||
self.assertEqual(1, len(detail['events']), detail)
|
||||
self.assertIn('compute_power_update', events_by_name)
|
||||
|
@ -87,10 +85,8 @@ class ServerExternalEventsTestV276(
|
|||
acts = {action['action']: action for action in actions}
|
||||
self.assertEqual(['create', 'start', 'stop'], sorted(acts))
|
||||
start_action = acts[instance_actions.START]
|
||||
detail = self.api.api_get(
|
||||
'/servers/%s/os-instance-actions/%s' % (
|
||||
server['id'], start_action['request_id'])
|
||||
).body['instanceAction']
|
||||
detail = self.api.get_instance_action_details(server['id'],
|
||||
start_action['request_id'])
|
||||
events_by_name = {event['event']: event for event in detail['events']}
|
||||
self.assertEqual(1, len(detail['events']), detail)
|
||||
self.assertIn('compute_power_update', events_by_name)
|
||||
|
|
Loading…
Reference in New Issue