From fe5757275bd9eae1d8d4c4f42d910d10a1343b84 Mon Sep 17 00:00:00 2001 From: aticig Date: Tue, 7 Jun 2022 15:00:35 +0300 Subject: [PATCH] Fixing Bug 1376 This fix will check the port existence before deleting the port. It will solve the error "Error deleting port: PortNotFoundClient". Change-Id: I2b0b841c6111578e0d1a0cde9057eb3ab0b5a86a Signed-off-by: aticig --- .../osm_rovim_openstack/vimconn_openstack.py | 7 +++++- .../fixing_bug_1376-4146971afad0594e.yaml | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/fixing_bug_1376-4146971afad0594e.yaml diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py index 6b46dc11..11a50aac 100644 --- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py +++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py @@ -2295,7 +2295,12 @@ class vimconnector(vimconn.VimConnector): try: k_item, _, k_id = k.partition(":") if k_item == "port": - self.neutron.delete_port(k_id) + port_dict = self.neutron.list_ports(device_id=vm_id) + existing_ports = [ + port["id"] for port in port_dict["ports"] if port_dict + ] + if k_id in existing_ports: + self.neutron.delete_port(k_id) except Exception as e: self.logger.error( "Error deleting port: {}: {}".format(type(e).__name__, e) diff --git a/releasenotes/notes/fixing_bug_1376-4146971afad0594e.yaml b/releasenotes/notes/fixing_bug_1376-4146971afad0594e.yaml new file mode 100644 index 00000000..814d3ba1 --- /dev/null +++ b/releasenotes/notes/fixing_bug_1376-4146971afad0594e.yaml @@ -0,0 +1,22 @@ +####################################################################################### +# Copyright ETSI Contributors and Others. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +####################################################################################### +--- +fixes: + - | + Fixing Bug 1376, this fix will check the port existence before deleting the port. + It will solve the error "Error deleting port: PortNotFoundClient". + -- 2.17.1