Use plain routes list for os-availability-zone endpoint instead of stevedore
This patch adds os-availability-zone 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: I19ad0d6a3fce2342097d8a61ee4f60adf0e14aa3
This commit is contained in:
parent
564f14f4bc
commit
b33aabee07
|
@ -22,7 +22,6 @@ from nova.policies import availability_zone as az_policies
|
|||
from nova import servicegroup
|
||||
|
||||
CONF = nova.conf.CONF
|
||||
ALIAS = "os-availability-zone"
|
||||
ATTRIBUTE_NAME = "availability_zone"
|
||||
|
||||
|
||||
|
@ -121,28 +120,6 @@ class AvailabilityZoneController(wsgi.Controller):
|
|||
return self._describe_availability_zones_verbose(context)
|
||||
|
||||
|
||||
class AvailabilityZone(extensions.V21APIExtensionBase):
|
||||
"""1. Add availability_zone to the Create Server API.
|
||||
2. Add availability zones describing.
|
||||
"""
|
||||
|
||||
name = "AvailabilityZone"
|
||||
alias = ALIAS
|
||||
version = 1
|
||||
|
||||
def get_resources(self):
|
||||
resource = [extensions.ResourceExtension(ALIAS,
|
||||
AvailabilityZoneController(),
|
||||
collection_actions={'detail': 'GET'})]
|
||||
return resource
|
||||
|
||||
def get_controller_extensions(self):
|
||||
"""It's an abstract function V21APIExtensionBase and the extension
|
||||
will not be loaded without it.
|
||||
"""
|
||||
return []
|
||||
|
||||
|
||||
# NOTE(gmann): This function is not supposed to use 'body_deprecated_param'
|
||||
# parameter as this is placed to handle scheduler_hint extension for V2.1.
|
||||
def server_create(server_dict, create_kwargs, body_deprecated_param):
|
||||
|
|
|
@ -181,6 +181,11 @@ hardcoded_extensions = [
|
|||
'alias': 'os-assisted-volume-snapshots',
|
||||
'description': 'Assisted volume snapshots.'
|
||||
},
|
||||
{'name': 'AvailabilityZone',
|
||||
'alias': 'os-availability-zone',
|
||||
'description': '1. Add availability_zone to the Create Server API.\n'
|
||||
' 2. Add availability zones describing.\n ',
|
||||
},
|
||||
{'name': 'DiskConfig',
|
||||
'alias': 'os-disk-config',
|
||||
'description': 'Disk Management Extension.'},
|
||||
|
|
|
@ -22,6 +22,7 @@ from nova.api.openstack.compute import admin_password
|
|||
from nova.api.openstack.compute import agents
|
||||
from nova.api.openstack.compute import aggregates
|
||||
from nova.api.openstack.compute import assisted_volume_snapshots
|
||||
from nova.api.openstack.compute import availability_zone
|
||||
from nova.api.openstack.compute import config_drive
|
||||
from nova.api.openstack.compute import console_output
|
||||
from nova.api.openstack.compute import create_backup
|
||||
|
@ -90,6 +91,10 @@ assisted_volume_snapshots_controller = functools.partial(
|
|||
assisted_volume_snapshots.AssistedVolumeSnapshotsController, [], [])
|
||||
|
||||
|
||||
availability_zone_controller = functools.partial(
|
||||
_create_controller, availability_zone.AvailabilityZoneController, [], [])
|
||||
|
||||
|
||||
keypairs_controller = functools.partial(
|
||||
_create_controller, keypairs.KeypairController, [], [])
|
||||
|
||||
|
@ -239,6 +244,12 @@ ROUTE_LIST = (
|
|||
('/os-assisted-volume-snapshots/{id}', {
|
||||
'DELETE': [assisted_volume_snapshots_controller, 'delete']
|
||||
}),
|
||||
('/os-availability-zone', {
|
||||
'GET': [availability_zone_controller, 'index']
|
||||
}),
|
||||
('/os-availability-zone/detail', {
|
||||
'GET': [availability_zone_controller, 'detail'],
|
||||
}),
|
||||
('/os-floating-ip-dns', {
|
||||
'GET': [floating_ip_dns_controller, 'index']
|
||||
}),
|
||||
|
|
|
@ -73,7 +73,6 @@ wsgi_scripts =
|
|||
|
||||
nova.api.v21.extensions =
|
||||
attach_interfaces = nova.api.openstack.compute.attach_interfaces:AttachInterfaces
|
||||
availability_zone = nova.api.openstack.compute.availability_zone:AvailabilityZone
|
||||
baremetal_nodes = nova.api.openstack.compute.baremetal_nodes:BareMetalNodes
|
||||
block_device_mapping = nova.api.openstack.compute.block_device_mapping:BlockDeviceMapping
|
||||
cells = nova.api.openstack.compute.cells:Cells
|
||||
|
|
Loading…
Reference in New Issue