Merge "Use plain routes list for os-cells endpoint instead of stevedore"
This commit is contained in:
@@ -36,8 +36,6 @@ from nova import rpc
|
|||||||
|
|
||||||
CONF = nova.conf.CONF
|
CONF = nova.conf.CONF
|
||||||
|
|
||||||
ALIAS = "os-cells"
|
|
||||||
|
|
||||||
|
|
||||||
def _filter_keys(item, keys):
|
def _filter_keys(item, keys):
|
||||||
"""Filters all model attributes except for keys
|
"""Filters all model attributes except for keys
|
||||||
@@ -303,32 +301,3 @@ class CellsController(wsgi.Controller):
|
|||||||
deleted = strutils.bool_from_string(deleted, strict=True)
|
deleted = strutils.bool_from_string(deleted, strict=True)
|
||||||
self.cells_rpcapi.sync_instances(context, project_id=project_id,
|
self.cells_rpcapi.sync_instances(context, project_id=project_id,
|
||||||
updated_since=updated_since, deleted=deleted)
|
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 []
|
|
||||||
|
@@ -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 assisted_volume_snapshots
|
||||||
from nova.api.openstack.compute import attach_interfaces
|
from nova.api.openstack.compute import attach_interfaces
|
||||||
from nova.api.openstack.compute import availability_zone
|
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 certificates
|
||||||
from nova.api.openstack.compute import cloudpipe
|
from nova.api.openstack.compute import cloudpipe
|
||||||
from nova.api.openstack.compute import config_drive
|
from nova.api.openstack.compute import config_drive
|
||||||
@@ -123,6 +124,10 @@ availability_zone_controller = functools.partial(
|
|||||||
_create_controller, availability_zone.AvailabilityZoneController, [], [])
|
_create_controller, availability_zone.AvailabilityZoneController, [], [])
|
||||||
|
|
||||||
|
|
||||||
|
cells_controller = functools.partial(
|
||||||
|
_create_controller, cells.CellsController, [], [])
|
||||||
|
|
||||||
|
|
||||||
certificates_controller = functools.partial(
|
certificates_controller = functools.partial(
|
||||||
_create_controller, certificates.CertificatesController, [], [])
|
_create_controller, certificates.CertificatesController, [], [])
|
||||||
|
|
||||||
@@ -397,6 +402,30 @@ ROUTE_LIST = (
|
|||||||
('/os-availability-zone/detail', {
|
('/os-availability-zone/detail', {
|
||||||
'GET': [availability_zone_controller, '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', {
|
('/os-certificates', {
|
||||||
'POST': [certificates_controller, 'create']
|
'POST': [certificates_controller, 'create']
|
||||||
}),
|
}),
|
||||||
|
@@ -75,7 +75,6 @@ wsgi_scripts =
|
|||||||
|
|
||||||
nova.api.v21.extensions =
|
nova.api.v21.extensions =
|
||||||
baremetal_nodes = nova.api.openstack.compute.baremetal_nodes:BareMetalNodes
|
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
|
extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo
|
||||||
images = nova.api.openstack.compute.images:Images
|
images = nova.api.openstack.compute.images:Images
|
||||||
image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata
|
image_metadata = nova.api.openstack.compute.image_metadata:ImageMetadata
|
||||||
|
Reference in New Issue
Block a user