From 480e7223a7fa5bdbb76d6a76aa77c4c87b927093 Mon Sep 17 00:00:00 2001 From: Tomoe Sugihara Date: Mon, 18 Feb 2013 15:24:55 +0900 Subject: [PATCH] Fix SG interface to reflect the reality The signitures of abstract methods in SecurityGroupPluginBase has diverged from db mixin implementation. This patch updates the methods to fix the divergence, mainly by removing update method from the base. Note that there's an issue for missing update(bug #1124865). Fixes: bug #1119080 Change-Id: I6631b86ab2fdf4b81ad575e9a8f92dfe041ffe9a Signed-off-by: Tomoe Sugihara --- quantum/db/securitygroups_db.py | 4 ++-- quantum/extensions/securitygroup.py | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/quantum/db/securitygroups_db.py b/quantum/db/securitygroups_db.py index 7eba36cf53..5295630608 100644 --- a/quantum/db/securitygroups_db.py +++ b/quantum/db/securitygroups_db.py @@ -398,11 +398,11 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase): raise ext_sg.SecurityGroupRuleNotFound(id=id) return sgr - def delete_security_group_rule(self, context, sgrid): + def delete_security_group_rule(self, context, id): if (cfg.CONF.SECURITYGROUP.proxy_mode and not context.is_admin): raise ext_sg.SecurityGroupProxyModeNotAdmin() with context.session.begin(subtransactions=True): - rule = self._get_security_group_rule(context, sgrid) + rule = self._get_security_group_rule(context, id) context.session.delete(rule) def _extend_port_dict_security_group(self, context, port): diff --git a/quantum/extensions/securitygroup.py b/quantum/extensions/securitygroup.py index 756c0753c2..8dd342e4cd 100644 --- a/quantum/extensions/securitygroup.py +++ b/quantum/extensions/securitygroup.py @@ -15,6 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. +from abc import ABCMeta from abc import abstractmethod from quantum.api import extensions @@ -315,16 +316,14 @@ class Securitygroup(extensions.ExtensionDescriptor): class SecurityGroupPluginBase(object): + __metaclass__ = ABCMeta + @abstractmethod def create_security_group(self, context, security_group): pass @abstractmethod - def delete_security_group(self, context, security_group): - pass - - @abstractmethod - def update_security_group(self, context, security_group): + def delete_security_group(self, context, id): pass @abstractmethod @@ -340,7 +339,7 @@ class SecurityGroupPluginBase(object): pass @abstractmethod - def delete_security_group_rule(self, context, sgrid): + def delete_security_group_rule(self, context, id): pass @abstractmethod