From: peusterm Date: Tue, 11 Jul 2017 14:08:35 +0000 (+0200) Subject: Fix: Be more robust if OS ports do not exist in the model X-Git-Tag: v3.1~17^2~5 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=832a0b8d97acd10b5a259d42db9e1bf56f1b4afd;p=osm%2Fvim-emu.git Fix: Be more robust if OS ports do not exist in the model --- diff --git a/src/emuvim/api/openstack/compute.py b/src/emuvim/api/openstack/compute.py index 9f79dd9..88d9511 100755 --- a/src/emuvim/api/openstack/compute.py +++ b/src/emuvim/api/openstack/compute.py @@ -468,7 +468,9 @@ class OpenstackCompute(object): LOG.debug("Stopping container %s with full name %s" % (server.name, server.full_name)) link_names = list() for port_name in server.port_names: - link_names.append(self.find_port_by_name_or_id(port_name).intf_name) + prt = self.find_port_by_name_or_id(port_name) + if prt is not None: + link_names.append(prt.intf_name) my_links = self.dc.net.links for link in my_links: if str(link.intf1) in link_names: @@ -681,7 +683,8 @@ class OpenstackCompute(object): """ port = self.find_port_by_name_or_id(name_or_id) if port is None: - raise Exception("Port with name or id %s does not exists." % name_or_id) + LOG.warning("Port with name or id %s does not exist. Can't delete it." % name_or_id) + return my_links = self.dc.net.links for link in my_links: diff --git a/src/emuvim/test/unittests/test_openstack.py b/src/emuvim/test/unittests/test_openstack.py index 6ed7efe..f5a702b 100755 --- a/src/emuvim/test/unittests/test_openstack.py +++ b/src/emuvim/test/unittests/test_openstack.py @@ -1112,7 +1112,7 @@ class testRestApi(ApiBaseOpenStack): url = "http://0.0.0.0:19696/v2.0/ports" listportsesponse = requests.get(url, headers=headers) self.assertEqual(listportsesponse.status_code, 200) - self.assertEqual(len(json.loads(listportsesponse.content)["ports"]), 18) + self.assertEqual(len(json.loads(listportsesponse.content)["ports"]), 9) for port in json.loads(listportsesponse.content)["ports"]: self.assertEqual(len(str(port['fixed_ips'][0]['subnet_id'])), 36) print(" ")