From 9c900d1ebd732e56b7fe061fbd47be7d65ed826e Mon Sep 17 00:00:00 2001 From: He Jie Xu Date: Tue, 18 Jul 2017 22:37:54 +0800 Subject: [PATCH] Use plain routes list for os-volume-attachments instead of stevedore This patch adds os-volume-attachments related routes by a plain list, instead of using stevedore. After all the Nova API endpoints moves to the plain routes list, the usage of stevedore for API loading will be removed from Nova. Partial-implement-blueprint api-no-more-extensions-pike Change-Id: I9e120892ef57045f195b73f18183b6a83660d41a --- nova/api/openstack/compute/routes.py | 13 +++++++++++++ nova/api/openstack/compute/volumes.py | 7 ------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index 3b45823b79..12eaa8dad7 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -350,6 +350,10 @@ server_tags_controller = functools.partial(_create_controller, server_tags.ServerTagsController, [], []) +server_volume_attachments_controller = functools.partial(_create_controller, + volumes.VolumeAttachmentController, [], []) + + services_controller = functools.partial(_create_controller, services.ServiceController, [], []) @@ -800,6 +804,15 @@ ROUTE_LIST = ( ('/servers/{server_id}/os-virtual-interfaces', { 'GET': [virtual_interfaces_controller, 'index'] }), + ('/servers/{server_id}/os-volume_attachments', { + 'GET': [server_volume_attachments_controller, 'index'], + 'POST': [server_volume_attachments_controller, 'create'], + }), + ('/servers/{server_id}/os-volume_attachments/{id}', { + 'GET': [server_volume_attachments_controller, 'show'], + 'PUT': [server_volume_attachments_controller, 'update'], + 'DELETE': [server_volume_attachments_controller, 'delete'] + }), ('/servers/{server_id}/remote-consoles', { 'POST': [server_remote_consoles_controller, 'create'] }), diff --git a/nova/api/openstack/compute/volumes.py b/nova/api/openstack/compute/volumes.py index 107b9e634e..2a50d1704b 100644 --- a/nova/api/openstack/compute/volumes.py +++ b/nova/api/openstack/compute/volumes.py @@ -602,13 +602,6 @@ class Volumes(extensions.V21APIExtensionBase): def get_resources(self): resources = [] - res = extensions.ResourceExtension('os-volume_attachments', - VolumeAttachmentController(), - parent=dict( - member_name='server', - collection_name='servers')) - resources.append(res) - res = extensions.ResourceExtension( 'os-snapshots', SnapshotController(), collection_actions={'detail': 'GET'})