Bug 1538 Fixed 48/10848/5
authorK Sai Kiran <saikiran.k@tataelxsi.co.in>
Thu, 20 May 2021 05:39:49 +0000 (11:09 +0530)
committerguzman <jmguzman@whitestack.com>
Tue, 24 Aug 2021 15:30:26 +0000 (17:30 +0200)
In case if df is not available in an NSD then  nsd.get("df", [[]])[0].get("vnf-profile", ())
raises an exception. Since [[]][0] returns a list and list does not have a get() function.
Fix is to change [[]] to [{}] such that when [{}][0] is executed we get a dict instead of
list.

Change-Id: I7e7ce62a44720dcc368ce7a4fa3d0bc1d7beb43b
Signed-off-by: K Sai Kiran <saikiran.k@tataelxsi.co.in>
osm_nbi/instance_topics.py

index d76b0b1..94adb7b 100644 (file)
@@ -334,7 +334,7 @@ class NsrTopic(BaseTopic):
             # Create VNFRs
             needed_vnfds = {}
             # TODO: Change for multiple df support
             # Create VNFRs
             needed_vnfds = {}
             # TODO: Change for multiple df support
-            vnf_profiles = nsd.get("df", [[]])[0].get("vnf-profile", ())
+            vnf_profiles = nsd.get("df", [{}])[0].get("vnf-profile", ())
             for vnfp in vnf_profiles:
                 vnfd_id = vnfp.get("vnfd-id")
                 vnf_index = vnfp.get("id")
             for vnfp in vnf_profiles:
                 vnfd_id = vnfp.get("vnfd-id")
                 vnf_index = vnfp.get("id")