use plain routes list for os-simple-tenant-usage
This patch adds os-simple-tenant-usage 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: I3c8832f82c3e4137be564ee97b4de28a6e836f18
This commit is contained in:
@@ -216,6 +216,9 @@ hardcoded_extensions = [
|
||||
{'name': 'ServerMetadata',
|
||||
'description': 'Server metadata Support.',
|
||||
'alias': 'server-metadata'},
|
||||
{'name': 'SimpleTenantUsage',
|
||||
'description': 'Simple tenant usage extension.',
|
||||
'alias': 'os-simple-tenant-usage'}
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ from nova.api.openstack.compute import server_metadata
|
||||
from nova.api.openstack.compute import server_usage
|
||||
from nova.api.openstack.compute import servers
|
||||
from nova.api.openstack.compute import shelve
|
||||
from nova.api.openstack.compute import simple_tenant_usage
|
||||
from nova.api.openstack.compute import suspend_server
|
||||
from nova.api.openstack import wsgi
|
||||
import nova.conf
|
||||
@@ -153,6 +154,11 @@ server_controller = functools.partial(_create_controller,
|
||||
server_metadata_controller = functools.partial(_create_controller,
|
||||
server_metadata.ServerMetadataController, [], [])
|
||||
|
||||
|
||||
simple_tenant_usage_controller = functools.partial(_create_controller,
|
||||
simple_tenant_usage.SimpleTenantUsageController, [], [])
|
||||
|
||||
|
||||
# NOTE(alex_xu): This is structure of this route list as below:
|
||||
# (
|
||||
# ('Route path': {
|
||||
@@ -236,6 +242,12 @@ ROUTE_LIST = (
|
||||
'GET': [keypairs_controller, 'show'],
|
||||
'DELETE': [keypairs_controller, 'delete']
|
||||
}),
|
||||
('/os-simple-tenant-usage', {
|
||||
'GET': [simple_tenant_usage_controller, 'index']
|
||||
}),
|
||||
('/os-simple-tenant-usage/{id}', {
|
||||
'GET': [simple_tenant_usage_controller, 'show']
|
||||
}),
|
||||
('/os-volumes_boot', {
|
||||
'GET': [server_controller, 'index'],
|
||||
'POST': [server_controller, 'create']
|
||||
|
||||
@@ -33,7 +33,6 @@ from nova import objects
|
||||
from nova.policies import simple_tenant_usage as stu_policies
|
||||
|
||||
CONF = nova.conf.CONF
|
||||
ALIAS = "os-simple-tenant-usage"
|
||||
|
||||
|
||||
def parse_strtime(dstr, fmt):
|
||||
@@ -364,23 +363,3 @@ class SimpleTenantUsageController(wsgi.Controller):
|
||||
tenant_usage['tenant_usage_links'] = usages_links
|
||||
|
||||
return tenant_usage
|
||||
|
||||
|
||||
class SimpleTenantUsage(extensions.V21APIExtensionBase):
|
||||
"""Simple tenant usage extension."""
|
||||
|
||||
name = "SimpleTenantUsage"
|
||||
alias = ALIAS
|
||||
version = 1
|
||||
|
||||
def get_resources(self):
|
||||
resources = []
|
||||
|
||||
res = extensions.ResourceExtension(ALIAS,
|
||||
SimpleTenantUsageController())
|
||||
resources.append(res)
|
||||
|
||||
return resources
|
||||
|
||||
def get_controller_extensions(self):
|
||||
return []
|
||||
|
||||
@@ -112,7 +112,6 @@ nova.api.v21.extensions =
|
||||
server_tags = nova.api.openstack.compute.server_tags:ServerTags
|
||||
server_groups = nova.api.openstack.compute.server_groups:ServerGroups
|
||||
services = nova.api.openstack.compute.services:Services
|
||||
simple_tenant_usage = nova.api.openstack.compute.simple_tenant_usage:SimpleTenantUsage
|
||||
tenant_networks = nova.api.openstack.compute.tenant_networks:TenantNetworks
|
||||
used_limits = nova.api.openstack.compute.used_limits:UsedLimits
|
||||
user_data = nova.api.openstack.compute.user_data:UserData
|
||||
|
||||
Reference in New Issue
Block a user