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