From 832a0b8d97acd10b5a259d42db9e1bf56f1b4afd Mon Sep 17 00:00:00 2001 From: peusterm Date: Tue, 11 Jul 2017 16:08:35 +0200 Subject: [PATCH] Fix: Be more robust if OS ports do not exist in the model --- src/emuvim/api/openstack/compute.py | 7 +++++-- src/emuvim/test/unittests/test_openstack.py | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) 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(" ") -- 2.17.1