From: Pavel Bondar Date: Thu, 18 Jun 2015 12:24:44 +0000 (+0300) Subject: Move _delete_port X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=29bb401973af81f4a4b8a667f8b7445e19e017da;p=openstack-build%2Fneutron-build.git Move _delete_port Pluggable ipam implementation will do additional actions on port deletion (deallocate ip using ipam driver). Existing _delete_port code will be resused. Moving _delete_port to ipam_backend_mixin to make this code accessible and extendable by both backends (pluggable and non pluggable). This commit is a preparation step before pluggable ipam implementation can be used. Partially-Implements: blueprint neutron-ipam Change-Id: If6cd623aad9e5501a26e5fb8cdecd5f55e85cd05 --- diff --git a/neutron/db/db_base_plugin_v2.py b/neutron/db/db_base_plugin_v2.py index ed7126ac0..ca0bd2766 100644 --- a/neutron/db/db_base_plugin_v2.py +++ b/neutron/db/db_base_plugin_v2.py @@ -1078,13 +1078,6 @@ class NeutronDbPluginV2(ipam_non_pluggable_backend.IpamNonPluggableBackend, "The port has already been deleted.", port_id) - def _delete_port(self, context, id): - query = (context.session.query(models_v2.Port). - enable_eagerloads(False).filter_by(id=id)) - if not context.is_admin: - query = query.filter_by(tenant_id=context.tenant_id) - query.delete() - def get_port(self, context, id, fields=None): port = self._get_port(context, id) return self._make_port_dict(port, fields) diff --git a/neutron/db/ipam_backend_mixin.py b/neutron/db/ipam_backend_mixin.py index f7b231d12..ea4ec26b6 100644 --- a/neutron/db/ipam_backend_mixin.py +++ b/neutron/db/ipam_backend_mixin.py @@ -252,3 +252,10 @@ class IpamBackendMixin(db_base_plugin_common.DbBasePluginCommon): return self.Changes(add=new_ips, original=prev_ips, remove=original_ips) + + def _delete_port(self, context, port_id): + query = (context.session.query(models_v2.Port). + enable_eagerloads(False).filter_by(id=port_id)) + if not context.is_admin: + query = query.filter_by(tenant_id=context.tenant_id) + query.delete()