From 7f484134fb2f59dedbd2d51f8f6fdab8c9f8996b Mon Sep 17 00:00:00 2001 From: He Jie Xu Date: Thu, 29 Jun 2017 20:34:20 +0800 Subject: [PATCH] Use plain routes list for os-security-group-default-rules instead of stevedore This patch adds os-security-group-default-rules 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: Ifd7c8fc508c0afdb3ce14a4514862805a1569a8b --- nova/api/openstack/compute/routes.py | 13 ++++++++++++ .../compute/security_group_default_rules.py | 20 ------------------- setup.cfg | 1 - 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/nova/api/openstack/compute/routes.py b/nova/api/openstack/compute/routes.py index f73a4ffde038..7e9b2f4ff115 100644 --- a/nova/api/openstack/compute/routes.py +++ b/nova/api/openstack/compute/routes.py @@ -72,6 +72,7 @@ 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 +from nova.api.openstack.compute import security_group_default_rules from nova.api.openstack.compute import security_groups from nova.api.openstack.compute import server_diagnostics from nova.api.openstack.compute import server_external_events @@ -253,6 +254,10 @@ security_group_controller = functools.partial(_create_controller, security_groups.SecurityGroupController, [], []) +security_group_default_rules_controller = functools.partial(_create_controller, + security_group_default_rules.SecurityGroupDefaultRulesController, [], []) + + security_group_rules_controller = functools.partial(_create_controller, security_groups.SecurityGroupRulesController, [], []) @@ -620,6 +625,14 @@ ROUTE_LIST = ( ('/os-quota-sets/{id}/defaults', { 'GET': [quota_set_controller, 'defaults'] }), + ('/os-security-group-default-rules', { + 'GET': [security_group_default_rules_controller, 'index'], + 'POST': [security_group_default_rules_controller, 'create'] + }), + ('/os-security-group-default-rules/{id}', { + 'GET': [security_group_default_rules_controller, 'show'], + 'DELETE': [security_group_default_rules_controller, 'delete'] + }), ('/os-security-group-rules', { 'POST': [security_group_rules_controller, 'create'] }), diff --git a/nova/api/openstack/compute/security_group_default_rules.py b/nova/api/openstack/compute/security_group_default_rules.py index 3468f7f8d041..b4b6a8bef88e 100644 --- a/nova/api/openstack/compute/security_group_default_rules.py +++ b/nova/api/openstack/compute/security_group_default_rules.py @@ -25,9 +25,6 @@ from nova.network.security_group import openstack_driver from nova.policies import security_group_default_rules as sgdr_policies -ALIAS = "os-security-group-default-rules" - - class SecurityGroupDefaultRulesController(sg.SecurityGroupControllerBase, wsgi.Controller): @@ -135,20 +132,3 @@ class SecurityGroupDefaultRulesController(sg.SecurityGroupControllerBase, sg_rule['ip_range'] = {} sg_rule['ip_range'] = {'cidr': rule['cidr']} return sg_rule - - -class SecurityGroupDefaultRules(extensions.V21APIExtensionBase): - """Default rules for security group support.""" - name = "SecurityGroupDefaultRules" - alias = ALIAS - version = 1 - - def get_resources(self): - resources = [ - extensions.ResourceExtension(ALIAS, - SecurityGroupDefaultRulesController())] - - return resources - - def get_controller_extensions(self): - return [] diff --git a/setup.cfg b/setup.cfg index 5370fe9e7712..caa8f8ef01bf 100644 --- a/setup.cfg +++ b/setup.cfg @@ -74,7 +74,6 @@ wsgi_scripts = nova.api.v21.extensions = baremetal_nodes = nova.api.openstack.compute.baremetal_nodes:BareMetalNodes extension_info = nova.api.openstack.compute.extension_info:ExtensionInfo - security_group_default_rules = nova.api.openstack.compute.security_group_default_rules:SecurityGroupDefaultRules versions = nova.api.openstack.compute.versionsV21:Versions volumes = nova.api.openstack.compute.volumes:Volumes