From 0710fdaf4e4f9603c01eaa0a7f25873dcdad6c86 Mon Sep 17 00:00:00 2001 From: ghanshyam Date: Mon, 1 May 2017 18:39:40 +0300 Subject: [PATCH] Use plain routes list for os-floating-ips endpoint instead of stevedore This patch adds os-floating-ips 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: Iffcd760bc7b9f35596255ab8e59734166eed98af --- nova/api/openstack/compute/extension_info.py | 3 +++ nova/api/openstack/compute/floating_ips.py | 17 ----------------- nova/api/openstack/compute/routes.py | 12 ++++++++++++ setup.cfg | 1 - 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/nova/api/openstack/compute/extension_info.py b/nova/api/openstack/compute/extension_info.py index ec32e17a4ec1..1d65f6aa4e91 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': 'FloatingIps', + 'description': 'Floating IPs support.', + 'alias': 'os-floating-ips'}, {'name': 'Keypairs', 'description': 'Keypair Support.', 'alias': 'os-keypairs'} diff --git a/nova/api/openstack/compute/floating_ips.py b/nova/api/openstack/compute/floating_ips.py index 549245309477..e79bb46221bc 100644 --- a/nova/api/openstack/compute/floating_ips.py +++ b/nova/api/openstack/compute/floating_ips.py @@ -36,7 +36,6 @@ from nova.policies import floating_ips as fi_policies LOG = logging.getLogger(__name__) -ALIAS = 'os-floating-ips' def _translate_floating_ip_view(floating_ip): @@ -327,19 +326,3 @@ class FloatingIPActionController(wsgi.Controller): msg = _("Floating IP %(address)s is not associated with instance " "%(id)s.") % {'address': address, 'id': id} raise webob.exc.HTTPConflict(explanation=msg) - - -class FloatingIps(extensions.V21APIExtensionBase): - """Floating IPs support.""" - - name = "FloatingIps" - alias = ALIAS - version = 1 - - def get_resources(self): - resource = [extensions.ResourceExtension(ALIAS, - FloatingIPController())] - return resource - - def get_controller_extensions(self): - return [] diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index 75b2241cf442..dcfae5b330fb 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -101,6 +101,10 @@ flavor_extraspec_controller = functools.partial(_create_controller, flavors_extraspecs.FlavorExtraSpecsController, [], []) +floating_ips_controller = functools.partial(_create_controller, + floating_ips.FloatingIPController, [], []) + + server_controller = functools.partial(_create_controller, servers.ServersController, [ @@ -191,6 +195,14 @@ ROUTE_LIST = ( ('/os-aggregates/{id}/action', { 'POST': [aggregates_controller, 'action'], }), + ('/os-floating-ips', { + 'GET': [floating_ips_controller, 'index'], + 'POST': [floating_ips_controller, 'create'] + }), + ('/os-floating-ips/{id}', { + 'GET': [floating_ips_controller, 'show'], + 'DELETE': [floating_ips_controller, 'delete'] + }), ('/os-keypairs', { 'GET': [keypairs_controller, 'index'], 'POST': [keypairs_controller, 'create'] diff --git a/setup.cfg b/setup.cfg index 507955b5d3f9..b3bbb9cb82a0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -87,7 +87,6 @@ nova.api.v21.extensions = 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 = nova.api.openstack.compute.floating_ips:FloatingIps 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