From 99f3c40cf10ebda150464c52bd7c1af7bcf3d827 Mon Sep 17 00:00:00 2001 From: ShunliZhou Date: Wed, 26 Apr 2017 15:16:37 +0800 Subject: [PATCH] Fix zun delete fail as port not exist. When delete container, will try to delete the created port. but if neutron not enabled or support tag extension or kuryr-libnetwork without https://review.openstack.org/#/c/441024/ patch, kuryr-libnetwork will delete port before zun to delete. Then zun failed to delete the port and delete container failed. When zun try to delete the neutron port, if it's deleted, just ignore the portnotfound exception. Change-Id: Ibb3a5abee0f96e3a5f920efff515f9dfd386b2ec Close-bug: #1686312 --- zun/network/kuryr_network.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/zun/network/kuryr_network.py b/zun/network/kuryr_network.py index 26614164d..4caaebd74 100644 --- a/zun/network/kuryr_network.py +++ b/zun/network/kuryr_network.py @@ -13,6 +13,7 @@ import ipaddress import six +from neutronclient.common import exceptions from oslo_log import log as logging from zun.common import clients @@ -158,5 +159,11 @@ class KuryrNetwork(network.Network): self.docker.disconnect_container_from_network(container_id, network_name) if neutron_ports: - port_id = neutron_ports[0]['id'] - self.neutron.delete_port(port_id) + try: + port_id = neutron_ports[0]['id'] + self.neutron.delete_port(port_id) + except exceptions.PortNotFoundClient: + LOG.warning('Maybe your libnetwork distribution do not have' + 'patch https://review.openstack.org/#/c/441024/' + 'or neutron tag extension does not supported or' + ' not enabled.')