From ed0abdbc68af89235261bfa292dd65fe38ab9036 Mon Sep 17 00:00:00 2001 From: ghanshyam Date: Mon, 1 May 2017 19:01:16 +0300 Subject: [PATCH] Use plain routes list for os-floating-ip-pools endpoint instead of stevedore This patch adds os-floating-ip-pools 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: I50de6ca3fa7ad6bd1ca317682fd0ab0362ea9e29 --- nova/api/openstack/compute/extension_info.py | 3 +++ .../openstack/compute/floating_ip_pools.py | 22 ------------------- nova/api/openstack/compute/routes.py | 8 +++++++ setup.cfg | 1 - 4 files changed, 11 insertions(+), 23 deletions(-) diff --git a/nova/api/openstack/compute/extension_info.py b/nova/api/openstack/compute/extension_info.py index 1d65f6aa4e91..07d9e9773807 100644 --- a/nova/api/openstack/compute/extension_info.py +++ b/nova/api/openstack/compute/extension_info.py @@ -201,6 +201,9 @@ hardcoded_extensions = [ {'name': 'FlavorAccess', 'description': 'Flavor access support.', 'alias': 'os-flavor-access'}, + {'name': 'FloatingIpPools', + 'description': 'Floating IPs support.', + 'alias': 'os-floating-ip-pools'}, {'name': 'FloatingIps', 'description': 'Floating IPs support.', 'alias': 'os-floating-ips'}, diff --git a/nova/api/openstack/compute/floating_ip_pools.py b/nova/api/openstack/compute/floating_ip_pools.py index d014b18b9838..d1ddcb61a803 100644 --- a/nova/api/openstack/compute/floating_ip_pools.py +++ b/nova/api/openstack/compute/floating_ip_pools.py @@ -20,9 +20,6 @@ from nova import network from nova.policies import floating_ip_pools as fip_policies -ALIAS = 'os-floating-ip-pools' - - def _translate_floating_ip_view(pool_name): return { 'name': pool_name, @@ -51,22 +48,3 @@ class FloatingIPPoolsController(wsgi.Controller): context.can(fip_policies.BASE_POLICY_NAME) pools = self.network_api.get_floating_ip_pools(context) return _translate_floating_ip_pools_view(pools) - - -class FloatingIpPools(extensions.V21APIExtensionBase): - """Floating IPs support.""" - - name = "FloatingIpPools" - alias = ALIAS - version = 1 - - def get_resources(self): - resource = [extensions.ResourceExtension(ALIAS, - FloatingIPPoolsController())] - return resource - - def get_controller_extensions(self): - """It's an abstract function V21APIExtensionBase and the extension - will not be loaded without it. - """ - return [] diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index dcfae5b330fb..e738a494a486 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -35,6 +35,7 @@ from nova.api.openstack.compute import flavor_manage from nova.api.openstack.compute import flavor_rxtx from nova.api.openstack.compute import flavors from nova.api.openstack.compute import flavors_extraspecs +from nova.api.openstack.compute import floating_ip_pools from nova.api.openstack.compute import floating_ips from nova.api.openstack.compute import hide_server_addresses from nova.api.openstack.compute import keypairs @@ -101,6 +102,10 @@ flavor_extraspec_controller = functools.partial(_create_controller, flavors_extraspecs.FlavorExtraSpecsController, [], []) +floating_ip_pools_controller = functools.partial(_create_controller, + floating_ip_pools.FloatingIPPoolsController, [], []) + + floating_ips_controller = functools.partial(_create_controller, floating_ips.FloatingIPController, [], []) @@ -195,6 +200,9 @@ ROUTE_LIST = ( ('/os-aggregates/{id}/action', { 'POST': [aggregates_controller, 'action'], }), + ('/os-floating-ip-pools', { + 'GET': [floating_ip_pools_controller, 'index'], + }), ('/os-floating-ips', { 'GET': [floating_ips_controller, 'index'], 'POST': [floating_ips_controller, 'create'] diff --git a/setup.cfg b/setup.cfg index b3bbb9cb82a0..8289c3bbbdd8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -86,7 +86,6 @@ nova.api.v21.extensions = extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo fixed_ips = nova.api.openstack.compute.fixed_ips:FixedIps floating_ip_dns = nova.api.openstack.compute.floating_ip_dns:FloatingIpDns - floating_ip_pools = nova.api.openstack.compute.floating_ip_pools:FloatingIpPools floating_ips_bulk = nova.api.openstack.compute.floating_ips_bulk:FloatingIpsBulk fping = nova.api.openstack.compute.fping:Fping hosts = nova.api.openstack.compute.hosts:Hosts