summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog/packages/biz/pnf_descriptor.py4
-rw-r--r--catalog/packages/biz/vnf_package.py4
2 files changed, 6 insertions, 2 deletions
diff --git a/catalog/packages/biz/pnf_descriptor.py b/catalog/packages/biz/pnf_descriptor.py
index 528fd178..f1dc55b2 100644
--- a/catalog/packages/biz/pnf_descriptor.py
+++ b/catalog/packages/biz/pnf_descriptor.py
@@ -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)
diff --git a/catalog/packages/biz/vnf_package.py b/catalog/packages/biz/vnf_package.py
index be8edba4..53f7fc0a 100644
--- a/catalog/packages/biz/vnf_package.py
+++ b/catalog/packages/biz/vnf_package.py
@@ -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)