Skip to content

Commit

Permalink
Fixed the security group port binding should be automatically
Browse files Browse the repository at this point in the history
deleted when delete_port

Added the CASCADE setting for the security group port
binding database model.

Also removed unused variables and imports

Fixes: bug #1080887

Change-Id: Id1af121b6ee57b794cb515a0b0c26b9a6310fbc4
  • Loading branch information
zzs committed Dec 15, 2012
1 parent 24b8967 commit 9ca602e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 18 deletions.
7 changes: 3 additions & 4 deletions quantum/db/securitygroups_db.py
Expand Up @@ -38,7 +38,9 @@ class SecurityGroup(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):

class SecurityGroupPortBinding(model_base.BASEV2):
"""Represents binding between quantum ports and security profiles"""
port_id = sa.Column(sa.String(36), sa.ForeignKey("ports.id"),
port_id = sa.Column(sa.String(36),
sa.ForeignKey("ports.id",
ondelete='CASCADE'),
primary_key=True)
security_group_id = sa.Column(sa.String(36),
sa.ForeignKey("securitygroups.id"),
Expand Down Expand Up @@ -287,9 +289,6 @@ def _validate_security_group_rules(self, context, security_group_rule):
rule.get('external_id')):
raise ext_sg.SecurityGroupNotProxyMode()

protocol = rule.get('protocol')
ethertype = rule.get('ethertype')

# Check that port_range's are valid
if (rule['port_range_min'] is None and
rule['port_range_max'] is None):
Expand Down
14 changes: 0 additions & 14 deletions quantum/tests/unit/test_extension_security_group.py
Expand Up @@ -19,21 +19,13 @@
import mock
import webob.exc

from quantum.api.extensions import PluginAwareExtensionManager
from quantum.api.v2 import attributes
from quantum.api.v2.router import APIRouter
from quantum.common import config
from quantum.common.test_lib import test_config
from quantum import context
from quantum.db import api as db
from quantum.db import db_base_plugin_v2
from quantum.db import securitygroups_db
from quantum.extensions import securitygroup as ext_sg
from quantum.manager import QuantumManager
from quantum.openstack.common import cfg
from quantum.tests.unit import test_db_plugin
from quantum.tests.unit import test_extensions
from quantum.wsgi import JSONDeserializer

DB_PLUGIN_KLASS = ('quantum.tests.unit.test_extension_security_group.'
'SecurityGroupTestPlugin')
Expand Down Expand Up @@ -200,12 +192,6 @@ def update_port(self, context, id, port):
self._extend_port_dict_security_group(context, port)
return port

def delete_port(self, context, id):
session = context.session
with session.begin(subtransactions=True):
self._delete_port_security_group_bindings(context, id)
super(SecurityGroupTestPlugin, self).delete_port(context, id)

def create_network(self, context, network):
tenant_id = self._get_tenant_id_for_create(context, network['network'])
self._ensure_default_security_group(context, tenant_id)
Expand Down

0 comments on commit 9ca602e

Please sign in to comment.