Merge "Use plain routes list for os-quota-classes endpoint instead of stevedore"

This commit is contained in:
Jenkins 2017-06-19 20:14:53 +00:00 committed by Gerrit Code Review
commit 3000c8637e
3 changed files with 12 additions and 24 deletions

View File

@ -28,7 +28,6 @@ from nova import utils
QUOTAS = quota.QUOTAS
ALIAS = "os-quota-class-sets"
# Quotas that are only enabled by specific extensions
EXTENDED_QUOTAS = {'server_groups': 'os-server-group-quotas',
@ -41,10 +40,10 @@ class QuotaClassSetsController(wsgi.Controller):
def __init__(self, **kwargs):
self.supported_quotas = QUOTAS.resources
extension_info = kwargs.pop('extension_info').get_extensions()
# TODO(jichenjc): need fix v2 and v2.1 API difference here see bug
# 1693168 for more info
for resource, extension in EXTENDED_QUOTAS.items():
if extension not in extension_info:
self.supported_quotas.remove(resource)
self.supported_quotas.remove(resource)
def _format_quota_set(self, quota_class, quota_set):
"""Convert the quota object to a result dict."""
@ -89,22 +88,3 @@ class QuotaClassSetsController(wsgi.Controller):
values = QUOTAS.get_class_quotas(context, quota_class)
return self._format_quota_set(None, values)
class QuotaClasses(extensions.V21APIExtensionBase):
"""Quota classes management support."""
name = "QuotaClasses"
alias = ALIAS
version = 1
def get_resources(self):
resources = []
res = extensions.ResourceExtension(
ALIAS,
QuotaClassSetsController(extension_info=self.extension_info))
resources.append(res)
return resources
def get_controller_extensions(self):
return []

View File

@ -61,6 +61,7 @@ from nova.api.openstack.compute import migrate_server
from nova.api.openstack.compute import migrations
from nova.api.openstack.compute import multinic
from nova.api.openstack.compute import pause_server
from nova.api.openstack.compute import quota_classes
from nova.api.openstack.compute import quota_sets
from nova.api.openstack.compute import remote_consoles
from nova.api.openstack.compute import rescue
@ -209,6 +210,10 @@ migrations_controller = functools.partial(_create_controller,
migrations.MigrationsController, [], [])
quota_classes_controller = functools.partial(_create_controller,
quota_classes.QuotaClassSetsController, [], [])
quota_set_controller = functools.partial(_create_controller,
quota_sets.QuotaSetsController, [], [])
@ -484,6 +489,10 @@ ROUTE_LIST = (
('/os-migrations', {
'GET': [migrations_controller, 'index']
}),
('/os-quota-class-sets/{id}', {
'GET': [quota_classes_controller, 'show'],
'PUT': [quota_classes_controller, 'update']
}),
('/os-quota-sets/{id}', {
'GET': [quota_set_controller, 'show'],
'PUT': [quota_set_controller, 'update'],

View File

@ -82,7 +82,6 @@ nova.api.v21.extensions =
multiple_create = nova.api.openstack.compute.multiple_create:MultipleCreate
networks = nova.api.openstack.compute.networks:Networks
networks_associate = nova.api.openstack.compute.networks_associate:NetworksAssociate
quota_classes = nova.api.openstack.compute.quota_classes:QuotaClasses
remote_consoles = nova.api.openstack.compute.remote_consoles:RemoteConsoles
security_group_default_rules = nova.api.openstack.compute.security_group_default_rules:SecurityGroupDefaultRules
security_groups = nova.api.openstack.compute.security_groups:SecurityGroups