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:
ghanshyam
2017-04-14 10:56:10 +03:00
committed by He Jie Xu
parent e91a282a31
commit 45011b4f72
4 changed files with 12 additions and 24 deletions
+4 -1
View File
@@ -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'}
]
+1 -22
View File
@@ -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 []
+7
View File
@@ -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']
-1
View File
@@ -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