]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fixed the security group port binding should be automatically
authorJason Zhang <zhesen@nttmcl.com>
Tue, 11 Dec 2012 20:34:05 +0000 (12:34 -0800)
committerJason Zhang <zhesen@nttmcl.com>
Sat, 15 Dec 2012 01:40:00 +0000 (17:40 -0800)
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

quantum/db/securitygroups_db.py
quantum/tests/unit/test_extension_security_group.py

index b8678cfef4b4a54ee3430f1a81789004cd2e9946..f160522c446ab4287e929dd325c1a764bd2f0574 100644 (file)
@@ -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"),
@@ -287,9 +289,6 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase):
                 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):
index baff8188ec01bb203b6f181f879b623ecc278cc5..9d3fa756d1e3d4ec80920a04a95be499be0a5ef7 100644 (file)
@@ -19,21 +19,13 @@ import os
 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')
@@ -200,12 +192,6 @@ class SecurityGroupTestPlugin(db_base_plugin_v2.QuantumDbPluginV2,
             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)