From: gifrerenom Date: Mon, 7 Mar 2022 17:55:20 +0000 (+0000) Subject: Fix bug 1899 to select correct WIM connector class and prevent exceptions with missin... X-Git-Tag: v10.1.1-rc1~11 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=858f1039191472eff11dab77298a4f5093e2428e;p=osm%2FRO.git Fix bug 1899 to select correct WIM connector class and prevent exceptions with missing parameters. Change-Id: I6f67b8a0fccc5a2ebf3f839899d748c41fac169a Signed-off-by: gifrerenom --- diff --git a/NG-RO/osm_ng_ro/ns.py b/NG-RO/osm_ng_ro/ns.py index 08ee7c44..f63b1cc9 100644 --- a/NG-RO/osm_ng_ro/ns.py +++ b/NG-RO/osm_ng_ro/ns.py @@ -973,7 +973,9 @@ class Ns(object): ) item_ = item - if target_vim.startswith("sdn"): + if target_vim.startswith("sdn") or target_vim.startswith( + "wim" + ): # item must be sdn-net instead of net if target_vim is a sdn item_ = "sdn_net" target_record_id += ".sdn" @@ -1023,7 +1025,7 @@ class Ns(object): target_record_id = "{}.{}".format(db_record, target_item["id"]) item_ = item - if target_vim.startswith("sdn"): + if target_vim.startswith("sdn") or target_vim.startswith("wim"): # item must be sdn-net instead of net if target_vim is a sdn item_ = "sdn_net" target_record_id += ".sdn" diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py index 4dac9d97..24464521 100644 --- a/NG-RO/osm_ng_ro/ns_thread.py +++ b/NG-RO/osm_ng_ro/ns_thread.py @@ -867,11 +867,15 @@ class VimInteractionSdnNet(VimInteractionBase): try: # CREATE params = task["params"] - vlds_to_connect = params["vlds"] - associated_vim = params["target_vim"] + vlds_to_connect = params.get("vlds", []) + associated_vim = params.get("target_vim") # external additional ports additional_ports = params.get("sdn-ports") or () - _, _, vim_account_id = associated_vim.partition(":") + _, _, vim_account_id = ( + (None, None, None) + if associated_vim is None + else associated_vim.partition(":") + ) if associated_vim: # get associated VIM @@ -1451,7 +1455,7 @@ class NsWorker(threading.Thread): persistent_info={}, ) else: # sdn - plugin_name = "rosdn_" + vim["type"] + plugin_name = "rosdn_" + (vim.get("type") or vim.get("wim_type")) step = "Loading plugin '{}'".format(plugin_name) vim_module_conn = self._load_plugin(plugin_name, "sdn") step = "Loading {}'".format(target_id) diff --git a/releasenotes/notes/fix_bug_1899-0f326b896bd3a7ac.yaml b/releasenotes/notes/fix_bug_1899-0f326b896bd3a7ac.yaml new file mode 100644 index 00000000..975dcff5 --- /dev/null +++ b/releasenotes/notes/fix_bug_1899-0f326b896bd3a7ac.yaml @@ -0,0 +1,21 @@ +####################################################################################### +# 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 1899 - to select correct WIM connector class and prevent exceptions with + missing parameters.