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 <tomoe@midokura.com>
This commit is contained in:
Tomoe Sugihara 2013-02-18 15:24:55 +09:00
parent 25878ca349
commit 434534652d
2 changed files with 7 additions and 8 deletions

View File

@ -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):

View File

@ -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