From 87a3d9fc3a41e45d7c14517243b3f8bda9c0d367 Mon Sep 17 00:00:00 2001 From: yangxurong Date: Mon, 29 Sep 2014 11:37:19 +0800 Subject: [PATCH] Remove _delete_port_security_group_bindings from delete_port Since SecurityGroupPortBinding has a foreign key constraint with Port and cascade deleting is defined, SecurityGroupPortBinding can be deleted when port is deleted, thus _delete_port_security_group_bindings call in ML2 delete_port is not needed and can be removed. Redundant calls in other core plugins are also removed in this patch. _delete_port_security_group_bindings is needed when updating ports so this method cannot be removed directly. Change-Id: I33c787fbed46d6049d3b24ccd246a8484d8aa306 Closes-Bug: #1373199 --- neutron/plugins/bigswitch/plugin.py | 1 - neutron/plugins/ml2/plugin.py | 1 - neutron/plugins/nec/nec_plugin.py | 1 - neutron/plugins/nuage/plugin.py | 2 +- neutron/plugins/oneconvergence/plugin.py | 2 -- 5 files changed, 1 insertion(+), 6 deletions(-) diff --git a/neutron/plugins/bigswitch/plugin.py b/neutron/plugins/bigswitch/plugin.py index 55604508f..e827bf3c0 100644 --- a/neutron/plugins/bigswitch/plugin.py +++ b/neutron/plugins/bigswitch/plugin.py @@ -819,7 +819,6 @@ class NeutronRestProxyV2(NeutronRestProxyV2Base, if self.l3_plugin: router_ids = self.l3_plugin.disassociate_floatingips( context, port_id, do_notify=False) - self._delete_port_security_group_bindings(context, port_id) port = super(NeutronRestProxyV2, self).get_port(context, port_id) # Tenant ID must come from network in case the network is shared tenid = self._get_port_net_tenantid(context, port) diff --git a/neutron/plugins/ml2/plugin.py b/neutron/plugins/ml2/plugin.py index 18b044ea4..fd3f04e5e 100644 --- a/neutron/plugins/ml2/plugin.py +++ b/neutron/plugins/ml2/plugin.py @@ -1023,7 +1023,6 @@ class Ml2Plugin(db_base_plugin_v2.NeutronDbPluginV2, context, id) self.mechanism_manager.delete_port_precommit(mech_context) bound_mech_contexts.append(mech_context) - self._delete_port_security_group_bindings(context, id) if l3plugin: router_ids = l3plugin.disassociate_floatingips( context, id, do_notify=False) diff --git a/neutron/plugins/nec/nec_plugin.py b/neutron/plugins/nec/nec_plugin.py index 4ae656699..2a16306ad 100644 --- a/neutron/plugins/nec/nec_plugin.py +++ b/neutron/plugins/nec/nec_plugin.py @@ -664,7 +664,6 @@ class NECPluginV2(db_base_plugin_v2.NeutronDbPluginV2, with context.session.begin(subtransactions=True): router_ids = self.disassociate_floatingips( context, id, do_notify=False) - self._delete_port_security_group_bindings(context, id) super(NECPluginV2, self).delete_port(context, id) # now that we've left db transaction, we are safe to notify diff --git a/neutron/plugins/nuage/plugin.py b/neutron/plugins/nuage/plugin.py index 0da031d8b..c6640b4a4 100644 --- a/neutron/plugins/nuage/plugin.py +++ b/neutron/plugins/nuage/plugin.py @@ -358,7 +358,7 @@ class NuagePlugin(db_base_plugin_v2.NeutronDbPluginV2, # Need to call this explicitly to delete vport to vporttag binding if ext_sg.SECURITYGROUPS in port: - self._delete_port_security_group_bindings(context, id) + self.nuageclient.delete_port_security_group_bindings(id) netpart_id = subnet_mapping['net_partition_id'] net_partition = nuagedb.get_net_partition_by_id(context.session, diff --git a/neutron/plugins/oneconvergence/plugin.py b/neutron/plugins/oneconvergence/plugin.py index f0daa004a..0f415a0c7 100644 --- a/neutron/plugins/oneconvergence/plugin.py +++ b/neutron/plugins/oneconvergence/plugin.py @@ -346,8 +346,6 @@ class OneConvergencePluginV2(db_base_plugin_v2.NeutronDbPluginV2, neutron_port = super(OneConvergencePluginV2, self).get_port(context, port_id) - self._delete_port_security_group_bindings(context, port_id) - router_ids = self.disassociate_floatingips( context, port_id, do_notify=False) -- 2.45.2