Merge "NSX: remove unnecessary checks on network delete"
This commit is contained in:
commit
732c99ee12
@ -984,14 +984,6 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin,
|
|||||||
|
|
||||||
def delete_network(self, context, id):
|
def delete_network(self, context, id):
|
||||||
external = self._network_is_external(context, id)
|
external = self._network_is_external(context, id)
|
||||||
# Before deleting ports, ensure the peer of a NSX logical
|
|
||||||
# port with a patch attachment is removed too
|
|
||||||
port_filter = {'network_id': [id],
|
|
||||||
'device_owner': [constants.DEVICE_OWNER_ROUTER_INTF]}
|
|
||||||
router_iface_ports = self.get_ports(context, filters=port_filter)
|
|
||||||
for port in router_iface_ports:
|
|
||||||
nsx_switch_id, nsx_port_id = nsx_utils.get_nsx_switch_and_port_id(
|
|
||||||
context.session, self.cluster, id)
|
|
||||||
# Before removing entry from Neutron DB, retrieve NSX switch
|
# Before removing entry from Neutron DB, retrieve NSX switch
|
||||||
# identifiers for removing them from backend
|
# identifiers for removing them from backend
|
||||||
if not external:
|
if not external:
|
||||||
@ -1001,41 +993,15 @@ class NsxPluginV2(addr_pair_db.AllowedAddressPairsMixin,
|
|||||||
self._process_l3_delete(context, id)
|
self._process_l3_delete(context, id)
|
||||||
super(NsxPluginV2, self).delete_network(context, id)
|
super(NsxPluginV2, self).delete_network(context, id)
|
||||||
|
|
||||||
# clean up network owned ports
|
|
||||||
for port in router_iface_ports:
|
|
||||||
try:
|
|
||||||
if nsx_port_id:
|
|
||||||
nsx_router_id = nsx_utils.get_nsx_router_id(
|
|
||||||
context.session, self.cluster, port['device_id'])
|
|
||||||
routerlib.delete_peer_router_lport(self.cluster,
|
|
||||||
nsx_router_id,
|
|
||||||
nsx_switch_id,
|
|
||||||
nsx_port_id)
|
|
||||||
else:
|
|
||||||
LOG.warning(_("A nsx lport identifier was not found for "
|
|
||||||
"neutron port '%s'. Unable to remove "
|
|
||||||
"the peer router port for this switch port"),
|
|
||||||
port['id'])
|
|
||||||
|
|
||||||
except (TypeError, KeyError,
|
|
||||||
api_exc.NsxApiException,
|
|
||||||
api_exc.ResourceNotFound):
|
|
||||||
# Do not raise because the issue might as well be that the
|
|
||||||
# router has already been deleted, so there would be nothing
|
|
||||||
# to do here
|
|
||||||
LOG.warning(_("Ignoring exception as this means the peer for "
|
|
||||||
"port '%s' has already been deleted."),
|
|
||||||
nsx_port_id)
|
|
||||||
|
|
||||||
# Do not go to NSX for external networks
|
# Do not go to NSX for external networks
|
||||||
if not external:
|
if not external:
|
||||||
try:
|
try:
|
||||||
switchlib.delete_networks(self.cluster, id, lswitch_ids)
|
switchlib.delete_networks(self.cluster, id, lswitch_ids)
|
||||||
LOG.debug(_("delete_network completed for tenant: %s"),
|
|
||||||
context.tenant_id)
|
|
||||||
except n_exc.NotFound:
|
except n_exc.NotFound:
|
||||||
LOG.warning(_("Did not found lswitch %s in NSX"), id)
|
LOG.warning(_("The following logical switches were not found "
|
||||||
|
"on the NSX backend:%s"), lswitch_ids)
|
||||||
self.handle_network_dhcp_access(context, id, action='delete_network')
|
self.handle_network_dhcp_access(context, id, action='delete_network')
|
||||||
|
LOG.debug("Delete network complete for network: %s", id)
|
||||||
|
|
||||||
def get_network(self, context, id, fields=None):
|
def get_network(self, context, id, fields=None):
|
||||||
with context.session.begin(subtransactions=True):
|
with context.session.begin(subtransactions=True):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user