From b422b4f7d22e815077a518ab5ba3aa42694f9e2c Mon Sep 17 00:00:00 2001 From: fujinhua Date: Thu, 18 Oct 2018 15:42:20 +0800 Subject: Add metadata id check for vnf/pnf pkg Change-Id: I49f4b7c4f339d944e4d1ee9f8df154e95cb5a0ad Issue-ID: VFC-1151 Signed-off-by: fujinhua --- catalog/packages/biz/pnf_descriptor.py | 4 +++- catalog/packages/biz/vnf_package.py | 4 +++- 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) -- cgit 1.2.3-korg