Fixed the security group port binding should be automatically
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
This commit is contained in:
parent
29c21e1793
commit
00c07ea5bf
@ -38,7 +38,9 @@ class SecurityGroup(model_base.BASEV2, models_v2.HasId, models_v2.HasTenant):
|
|||||||
|
|
||||||
class SecurityGroupPortBinding(model_base.BASEV2):
|
class SecurityGroupPortBinding(model_base.BASEV2):
|
||||||
"""Represents binding between quantum ports and security profiles"""
|
"""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)
|
primary_key=True)
|
||||||
security_group_id = sa.Column(sa.String(36),
|
security_group_id = sa.Column(sa.String(36),
|
||||||
sa.ForeignKey("securitygroups.id"),
|
sa.ForeignKey("securitygroups.id"),
|
||||||
@ -287,9 +289,6 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase):
|
|||||||
rule.get('external_id')):
|
rule.get('external_id')):
|
||||||
raise ext_sg.SecurityGroupNotProxyMode()
|
raise ext_sg.SecurityGroupNotProxyMode()
|
||||||
|
|
||||||
protocol = rule.get('protocol')
|
|
||||||
ethertype = rule.get('ethertype')
|
|
||||||
|
|
||||||
# Check that port_range's are valid
|
# Check that port_range's are valid
|
||||||
if (rule['port_range_min'] is None and
|
if (rule['port_range_min'] is None and
|
||||||
rule['port_range_max'] is None):
|
rule['port_range_max'] is None):
|
||||||
|
@ -19,21 +19,13 @@ import os
|
|||||||
import mock
|
import mock
|
||||||
import webob.exc
|
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.common.test_lib import test_config
|
||||||
from quantum import context
|
from quantum import context
|
||||||
from quantum.db import api as db
|
|
||||||
from quantum.db import db_base_plugin_v2
|
from quantum.db import db_base_plugin_v2
|
||||||
from quantum.db import securitygroups_db
|
from quantum.db import securitygroups_db
|
||||||
from quantum.extensions import securitygroup as ext_sg
|
from quantum.extensions import securitygroup as ext_sg
|
||||||
from quantum.manager import QuantumManager
|
|
||||||
from quantum.openstack.common import cfg
|
from quantum.openstack.common import cfg
|
||||||
from quantum.tests.unit import test_db_plugin
|
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.'
|
DB_PLUGIN_KLASS = ('quantum.tests.unit.test_extension_security_group.'
|
||||||
'SecurityGroupTestPlugin')
|
'SecurityGroupTestPlugin')
|
||||||
@ -200,12 +192,6 @@ class SecurityGroupTestPlugin(db_base_plugin_v2.QuantumDbPluginV2,
|
|||||||
self._extend_port_dict_security_group(context, port)
|
self._extend_port_dict_security_group(context, port)
|
||||||
return 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):
|
def create_network(self, context, network):
|
||||||
tenant_id = self._get_tenant_id_for_create(context, network['network'])
|
tenant_id = self._get_tenant_id_for_create(context, network['network'])
|
||||||
self._ensure_default_security_group(context, tenant_id)
|
self._ensure_default_security_group(context, tenant_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user