diff --git a/nova/api/openstack/compute/instance_actions.py b/nova/api/openstack/compute/instance_actions.py index f2578b37a6..1142cc61b8 100644 --- a/nova/api/openstack/compute/instance_actions.py +++ b/nova/api/openstack/compute/instance_actions.py @@ -23,8 +23,6 @@ from nova.i18n import _ from nova.policies import instance_actions as ia_policies from nova import utils -ALIAS = "os-instance-actions" - ACTION_KEYS = ['action', 'instance_uuid', 'request_id', 'user_id', 'project_id', 'start_time', 'message'] EVENT_KEYS = ['event', 'start_time', 'finish_time', 'result', 'traceback'] @@ -87,25 +85,3 @@ class InstanceActionsController(wsgi.Controller): action_id) action['events'] = [self._format_event(evt) for evt in events_raw] return {'instanceAction': action} - - -class InstanceActions(extensions.V21APIExtensionBase): - """View a log of actions and events taken on an instance.""" - - name = "InstanceActions" - alias = ALIAS - version = 1 - - def get_resources(self): - ext = extensions.ResourceExtension(ALIAS, - InstanceActionsController(), - parent=dict( - member_name='server', - collection_name='servers')) - return [ext] - - def get_controller_extensions(self): - """It's an abstract function V21APIExtensionBase and the extension - will not be loaded without it. - """ - return [] diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index 4779a6899f..31426f3b58 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -46,6 +46,7 @@ from nova.api.openstack.compute import floating_ip_pools from nova.api.openstack.compute import floating_ips from nova.api.openstack.compute import floating_ips_bulk from nova.api.openstack.compute import hide_server_addresses +from nova.api.openstack.compute import instance_actions from nova.api.openstack.compute import instance_usage_audit_log from nova.api.openstack.compute import ips from nova.api.openstack.compute import keypairs @@ -160,6 +161,10 @@ floating_ips_bulk_controller = functools.partial(_create_controller, floating_ips_bulk.FloatingIPBulkController, [], []) +instance_actions_controller = functools.partial(_create_controller, + instance_actions.InstanceActionsController, [], []) + + instance_usage_audit_log_controller = functools.partial(_create_controller, instance_usage_audit_log.InstanceUsageAuditLogController, [], []) @@ -472,6 +477,12 @@ ROUTE_LIST = ( ('/servers/{server_id}/migrations/{id}/action', { 'POST': [server_migrations_controller, 'action'] }), + ('/servers/{server_id}/os-instance-actions', { + 'GET': [instance_actions_controller, 'index'] + }), + ('/servers/{server_id}/os-instance-actions/{id}', { + 'GET': [instance_actions_controller, 'show'] + }), ('/servers/{server_id}/os-interface', { 'GET': [server_os_interface_controller, 'index'], 'POST': [server_os_interface_controller, 'create'] diff --git a/setup.cfg b/setup.cfg index 9bd88c09b8..4b512ea854 100644 --- a/setup.cfg +++ b/setup.cfg @@ -85,7 +85,6 @@ nova.api.v21.extensions = images = nova.api.openstack.compute.images:Images image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata image_size = nova.api.openstack.compute.image_size:ImageSize - instance_actions = nova.api.openstack.compute.instance_actions:InstanceActions multiple_create = nova.api.openstack.compute.multiple_create:MultipleCreate networks = nova.api.openstack.compute.networks:Networks networks_associate = nova.api.openstack.compute.networks_associate:NetworksAssociate