diff --git a/nova/api/openstack/compute/extension_info.py b/nova/api/openstack/compute/extension_info.py index 4aa812e213..619533b6f3 100644 --- a/nova/api/openstack/compute/extension_info.py +++ b/nova/api/openstack/compute/extension_info.py @@ -238,6 +238,9 @@ hardcoded_extensions = [ {'name': 'ServerMetadata', 'description': 'Server metadata Support.', 'alias': 'server-metadata'}, + {'name': 'SimpleTenantUsage', + 'description': 'Simple tenant usage extension.', + 'alias': 'os-simple-tenant-usage'} ] diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index ff33c955e0..d414f3970e 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -57,6 +57,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 @@ -188,6 +189,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': { @@ -315,6 +321,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'] diff --git a/nova/api/openstack/compute/simple_tenant_usage.py b/nova/api/openstack/compute/simple_tenant_usage.py index 051ddb8d7b..b0a1701ba7 100644 --- a/nova/api/openstack/compute/simple_tenant_usage.py +++ b/nova/api/openstack/compute/simple_tenant_usage.py @@ -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 [] diff --git a/setup.cfg b/setup.cfg index ac93d64b3b..99e68cd1c4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -106,7 +106,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