diff --git a/nova/api/openstack/compute/cells.py b/nova/api/openstack/compute/cells.py index 6e8eb6538898..1e85e37140f7 100644 --- a/nova/api/openstack/compute/cells.py +++ b/nova/api/openstack/compute/cells.py @@ -36,8 +36,6 @@ from nova import rpc CONF = nova.conf.CONF -ALIAS = "os-cells" - def _filter_keys(item, keys): """Filters all model attributes except for keys @@ -303,32 +301,3 @@ class CellsController(wsgi.Controller): deleted = strutils.bool_from_string(deleted, strict=True) self.cells_rpcapi.sync_instances(context, project_id=project_id, updated_since=updated_since, deleted=deleted) - - -class Cells(extensions.V21APIExtensionBase): - """Enables cells-related functionality such as adding neighbor cells, - listing neighbor cells, and getting the capabilities of the local cell. - """ - - name = "Cells" - alias = ALIAS - version = 1 - - def get_resources(self): - coll_actions = { - 'detail': 'GET', - 'info': 'GET', - 'sync_instances': 'POST', - 'capacities': 'GET', - } - memb_actions = { - 'capacities': 'GET', - } - - res = extensions.ResourceExtension(ALIAS, CellsController(), - collection_actions=coll_actions, - member_actions=memb_actions) - return [res] - - def get_controller_extensions(self): - return [] diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index f094a9128c28..925c27d06411 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -24,6 +24,7 @@ from nova.api.openstack.compute import aggregates from nova.api.openstack.compute import assisted_volume_snapshots from nova.api.openstack.compute import attach_interfaces from nova.api.openstack.compute import availability_zone +from nova.api.openstack.compute import cells from nova.api.openstack.compute import certificates from nova.api.openstack.compute import cloudpipe from nova.api.openstack.compute import config_drive @@ -123,6 +124,10 @@ availability_zone_controller = functools.partial( _create_controller, availability_zone.AvailabilityZoneController, [], []) +cells_controller = functools.partial( + _create_controller, cells.CellsController, [], []) + + certificates_controller = functools.partial( _create_controller, certificates.CertificatesController, [], []) @@ -397,6 +402,30 @@ ROUTE_LIST = ( ('/os-availability-zone/detail', { 'GET': [availability_zone_controller, 'detail'], }), + ('/os-cells', { + 'POST': [cells_controller, 'create'], + 'GET': [cells_controller, 'index'], + }), + ('/os-cells/capacities', { + 'GET': [cells_controller, 'capacities'] + }), + ('/os-cells/detail', { + 'GET': [cells_controller, 'detail'] + }), + ('/os-cells/info', { + 'GET': [cells_controller, 'info'] + }), + ('/os-cells/sync_instances', { + 'POST': [cells_controller, 'sync_instances'] + }), + ('/os-cells/{id}', { + 'GET': [cells_controller, 'show'], + 'PUT': [cells_controller, 'update'], + 'DELETE': [cells_controller, 'delete'] + }), + ('/os-cells/{id}/capacities', { + 'GET': [cells_controller, 'capacities'] + }), ('/os-certificates', { 'POST': [certificates_controller, 'create'] }), diff --git a/setup.cfg b/setup.cfg index b4c751a305db..1eb5c56d67d9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -75,7 +75,6 @@ wsgi_scripts = nova.api.v21.extensions = baremetal_nodes = nova.api.openstack.compute.baremetal_nodes:BareMetalNodes - cells = nova.api.openstack.compute.cells:Cells extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo images = nova.api.openstack.compute.images:Images image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata