From ef6c0a270c398e9e1b2a11e92457ddcde30da532 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Fri, 17 Feb 2012 13:54:09 -0800 Subject: [PATCH] Don't inherit controllers from each other, we don't want the methods of our parent Bug #934478 Change-Id: I6871b42b00db2ce7d9345204cba1cc778bf04e58 --- .../compute/contrib/security_groups.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py index 0e1b1726dc52..30d3bd6b68b4 100644 --- a/nova/api/openstack/compute/contrib/security_groups.py +++ b/nova/api/openstack/compute/contrib/security_groups.py @@ -174,12 +174,11 @@ class SecurityGroupRulesXMLDeserializer(wsgi.MetadataXMLDeserializer): return sg_rule -class SecurityGroupController(object): - """The Security group API controller for the OpenStack API.""" +class SecurityGroupControllerBase(object): + """Base class for Security Group controllers.""" def __init__(self): self.compute_api = compute.API() - super(SecurityGroupController, self).__init__() self.sgh = utils.import_object(FLAGS.security_group_handler) def _format_security_group_rule(self, context, rule): @@ -211,6 +210,10 @@ class SecurityGroupController(object): context, rule)] return security_group + +class SecurityGroupController(SecurityGroupControllerBase): + """The Security group API controller for the OpenStack API.""" + def _get_security_group(self, context, id): try: id = int(id) @@ -317,7 +320,7 @@ class SecurityGroupController(object): raise exc.HTTPBadRequest(explanation=msg) -class SecurityGroupRulesController(SecurityGroupController): +class SecurityGroupRulesController(SecurityGroupControllerBase): @wsgi.serializers(xml=SecurityGroupRuleTemplate) @wsgi.deserializers(xml=SecurityGroupRulesXMLDeserializer) @@ -509,12 +512,7 @@ class SecurityGroupRulesController(SecurityGroupController): return webob.Response(status_int=202) -# NOTE(justinsb): Does WSGI see the base class methods? -# i.e. are we exposing create/delete here? -class ServerSecurityGroupController(SecurityGroupController): - def __init__(self, *args, **kwargs): - super(ServerSecurityGroupController, self).__init__(*args, **kwargs) - self.compute_api = compute.API() +class ServerSecurityGroupController(SecurityGroupControllerBase): @wsgi.serializers(xml=SecurityGroupsTemplate) def index(self, req, server_id):