Use plain routes list for flavors-access endpoint instead of stevedore
This patch adds flavors-access 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: I284516a396e99a5a1c2113ad4ef3e4618628caa9
This commit is contained in:
@@ -194,7 +194,10 @@ hardcoded_extensions = [
|
||||
'alias': 'os-flavor-rxtx'},
|
||||
{'name': 'FlavorExtraSpecs',
|
||||
'description': 'Flavors extra specs support.',
|
||||
'alias': 'os-flavor-extra-specs'}
|
||||
'alias': 'os-flavor-extra-specs'},
|
||||
{'name': 'FlavorAccess',
|
||||
'description': 'Flavor access support.',
|
||||
'alias': 'os-flavor-access'}
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -27,8 +27,6 @@ from nova import exception
|
||||
from nova.i18n import _
|
||||
from nova.policies import flavor_access as fa_policies
|
||||
|
||||
ALIAS = 'os-flavor-access'
|
||||
|
||||
|
||||
def _marshall_flavor_access(flavor):
|
||||
rval = []
|
||||
@@ -60,7 +58,7 @@ class FlavorAccessController(wsgi.Controller):
|
||||
class FlavorActionController(wsgi.Controller):
|
||||
"""The flavor access API controller for the OpenStack API."""
|
||||
def _extend_flavor(self, flavor_rval, flavor_ref):
|
||||
key = "%s:is_public" % (FlavorAccess.alias)
|
||||
key = "os-flavor-access:is_public"
|
||||
flavor_rval[key] = flavor_ref['is_public']
|
||||
|
||||
@wsgi.extends
|
||||
@@ -134,22 +132,3 @@ class FlavorActionController(wsgi.Controller):
|
||||
exception.FlavorNotFound) as e:
|
||||
raise webob.exc.HTTPNotFound(explanation=e.format_message())
|
||||
return _marshall_flavor_access(flavor)
|
||||
|
||||
|
||||
class FlavorAccess(extensions.V21APIExtensionBase):
|
||||
"""Flavor access support."""
|
||||
|
||||
name = "FlavorAccess"
|
||||
alias = ALIAS
|
||||
version = 1
|
||||
|
||||
def get_resources(self):
|
||||
res = extensions.ResourceExtension(
|
||||
ALIAS,
|
||||
controller=FlavorAccessController(),
|
||||
parent=dict(member_name='flavor', collection_name='flavors'))
|
||||
|
||||
return [res]
|
||||
|
||||
def get_controller_extensions(self):
|
||||
return []
|
||||
|
||||
@@ -84,6 +84,10 @@ flavor_controller = functools.partial(_create_controller,
|
||||
)
|
||||
|
||||
|
||||
flavor_access_controller = functools.partial(_create_controller,
|
||||
flavor_access.FlavorAccessController, [], [])
|
||||
|
||||
|
||||
flavor_extraspec_controller = functools.partial(_create_controller,
|
||||
flavors_extraspecs.FlavorExtraSpecsController, [], [])
|
||||
|
||||
@@ -163,6 +167,9 @@ ROUTE_LIST = (
|
||||
'PUT': [flavor_extraspec_controller, 'update'],
|
||||
'DELETE': [flavor_extraspec_controller, 'delete']
|
||||
}),
|
||||
('/flavors/{flavor_id}/os-flavor-access', {
|
||||
'GET': [flavor_access_controller, 'index']
|
||||
}),
|
||||
('/os-volumes_boot', {
|
||||
'GET': [server_controller, 'index'],
|
||||
'POST': [server_controller, 'create']
|
||||
|
||||
@@ -85,7 +85,6 @@ nova.api.v21.extensions =
|
||||
consoles = nova.api.openstack.compute.consoles:Consoles
|
||||
extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo
|
||||
fixed_ips = nova.api.openstack.compute.fixed_ips:FixedIps
|
||||
flavor_access = nova.api.openstack.compute.flavor_access:FlavorAccess
|
||||
floating_ip_dns = nova.api.openstack.compute.floating_ip_dns:FloatingIpDns
|
||||
floating_ip_pools = nova.api.openstack.compute.floating_ip_pools:FloatingIpPools
|
||||
floating_ips = nova.api.openstack.compute.floating_ips:FloatingIps
|
||||
|
||||
Reference in New Issue
Block a user