Add metadata id check for vnf/pnf pkg 16/70716/1
authorfujinhua <fu.jinhua@zte.com.cn>
Thu, 18 Oct 2018 07:42:20 +0000 (15:42 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Thu, 18 Oct 2018 07:42:20 +0000 (15:42 +0800)
Change-Id: I49f4b7c4f339d944e4d1ee9f8df154e95cb5a0ad
Issue-ID: VFC-1151
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
catalog/packages/biz/pnf_descriptor.py
catalog/packages/biz/vnf_package.py

index 528fd17..f1dc55b 100644 (file)
@@ -130,7 +130,9 @@ class PnfDescriptor(object):
         pnfd_json = toscaparser.parse_pnfd(local_file_name)
         pnfd = json.JSONDecoder().decode(pnfd_json)
 
-        pnfd_id = pnfd["metadata"]["id"]
+        pnfd_id = pnfd["metadata"].get("id", '')
+        if not pnfd_id:
+            raise CatalogException("PNFDID(metadata.id) of PNF(%s) does not exist." % pnfd_info_id)
         if pnfd_id and PnfPackageModel.objects.filter(pnfdId=pnfd_id):
             logger.info('PNFD(%s) already exists.' % pnfd_id)
             raise CatalogException("PNFD(%s) already exists." % pnfd_id)
index be8edba..53f7fc0 100644 (file)
@@ -194,7 +194,9 @@ def parse_vnfd_and_save(vnf_pkg_id, vnf_pkg_path):
     vnfd_json = toscaparser.parse_vnfd(vnf_pkg_path)
     vnfd = json.JSONDecoder().decode(vnfd_json)
 
-    vnfd_id = vnfd["metadata"]["id"]
+    vnfd_id = vnfd["metadata"].get("id", '')
+    if not vnfd_id:
+        raise CatalogException("VNFDID(metadata.id) of VNF(%s) does not exist." % vnf_pkg_id)
     if VnfPackageModel.objects.filter(vnfdId=vnfd_id):
         logger.error("VNF package(%s) already exists." % vnfd_id)
         raise CatalogException("VNF package(%s) already exists." % vnfd_id)