From b15041e81c1503817765d1ba6d30522d17bb5d33 Mon Sep 17 00:00:00 2001 From: Kevin_Zheng Date: Wed, 3 May 2017 22:17:40 +0800 Subject: [PATCH] Use plain routes list for os-server-groups endpoint instead of stevedore This patch adds os-server-groups 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: I2df31cc04fbd2d54103a412f461cfd665209dfa7 --- nova/api/openstack/compute/routes.py | 13 +++++++++++++ nova/api/openstack/compute/server_groups.py | 18 ------------------ setup.cfg | 1 - 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index 65801503c2..c216e22203 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -67,6 +67,7 @@ from nova.api.openstack.compute import rescue from nova.api.openstack.compute import security_groups from nova.api.openstack.compute import server_diagnostics from nova.api.openstack.compute import server_external_events +from nova.api.openstack.compute import server_groups from nova.api.openstack.compute import server_metadata from nova.api.openstack.compute import server_migrations from nova.api.openstack.compute import server_password @@ -262,6 +263,10 @@ server_external_events_controller = functools.partial(_create_controller, server_external_events.ServerExternalEventsController, [], []) +server_groups_controller = functools.partial(_create_controller, + server_groups.ServerGroupController, [], []) + + server_metadata_controller = functools.partial(_create_controller, server_metadata.ServerMetadataController, [], []) @@ -493,6 +498,14 @@ ROUTE_LIST = ( ('/os-server-external-events', { 'POST': [server_external_events_controller, 'create'] }), + ('/os-server-groups', { + 'GET': [server_groups_controller, 'index'], + 'POST': [server_groups_controller, 'create'] + }), + ('/os-server-groups/{id}', { + 'GET': [server_groups_controller, 'show'], + 'DELETE': [server_groups_controller, 'delete'] + }), ('/os-services', { 'GET': [services_controller, 'index'] }), diff --git a/nova/api/openstack/compute/server_groups.py b/nova/api/openstack/compute/server_groups.py index 9df7a5b3a2..af76d99e71 100644 --- a/nova/api/openstack/compute/server_groups.py +++ b/nova/api/openstack/compute/server_groups.py @@ -36,8 +36,6 @@ from nova.policies import server_groups as sg_policies LOG = logging.getLogger(__name__) -ALIAS = "os-server-groups" - CONF = nova.conf.CONF @@ -188,19 +186,3 @@ class ServerGroupController(wsgi.Controller): raise exc.HTTPForbidden(explanation=msg) return {'server_group': self._format_server_group(context, sg, req)} - - -class ServerGroups(extensions.V21APIExtensionBase): - """Server group support.""" - name = "ServerGroups" - alias = ALIAS - version = 1 - - def get_resources(self): - res = extensions.ResourceExtension( - ALIAS, controller=ServerGroupController(), - member_actions={"action": "POST", }) - return [res] - - def get_controller_extensions(self): - return [] diff --git a/setup.cfg b/setup.cfg index 6de0e25491..53d8e9a246 100644 --- a/setup.cfg +++ b/setup.cfg @@ -86,7 +86,6 @@ nova.api.v21.extensions = remote_consoles = nova.api.openstack.compute.remote_consoles:RemoteConsoles security_group_default_rules = nova.api.openstack.compute.security_group_default_rules:SecurityGroupDefaultRules security_groups = nova.api.openstack.compute.security_groups:SecurityGroups - server_groups = nova.api.openstack.compute.server_groups:ServerGroups tenant_networks = nova.api.openstack.compute.tenant_networks:TenantNetworks versions = nova.api.openstack.compute.versionsV21:Versions volumes = nova.api.openstack.compute.volumes:Volumes