fix problem vnfpkg internal-vlds without name
[osm/NBI.git] / osm_nbi / descriptor_topics.py
index c1c1f63..fdf46e5 100644 (file)
@@ -569,13 +569,14 @@ class VnfdTopic(DescriptorTopic):
         vld_names = []  # For detection of duplicated VLD names
         for ivld in get_iterable(indata.get("internal-vld")):
             # BEGIN Detection of duplicated VLD names
-            ivld_name = ivld["name"]
-            if ivld_name in vld_names:
-                raise EngineException("Duplicated VLD name '{}' in vnfd[id={}]:internal-vld[id={}]"
-                                      .format(ivld["name"], indata["id"], ivld["id"]),
-                                      http_code=HTTPStatus.UNPROCESSABLE_ENTITY)
-            else:
-                vld_names.append(ivld_name)
+            ivld_name = ivld.get("name")
+            if ivld_name:
+                if ivld_name in vld_names:
+                    raise EngineException("Duplicated VLD name '{}' in vnfd[id={}]:internal-vld[id={}]"
+                                          .format(ivld["name"], indata["id"], ivld["id"]),
+                                          http_code=HTTPStatus.UNPROCESSABLE_ENTITY)
+                else:
+                    vld_names.append(ivld_name)
             # END Detection of duplicated VLD names
             for icp in get_iterable(ivld.get("internal-connection-point")):
                 icp_mark = False