summaryrefslogtreecommitdiffstats
path: root/catalog/packages/biz/ns_descriptor.py
diff options
context:
space:
mode:
Diffstat (limited to 'catalog/packages/biz/ns_descriptor.py')
-rw-r--r--catalog/packages/biz/ns_descriptor.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/catalog/packages/biz/ns_descriptor.py b/catalog/packages/biz/ns_descriptor.py
index bdd56bd1..13e53654 100644
--- a/catalog/packages/biz/ns_descriptor.py
+++ b/catalog/packages/biz/ns_descriptor.py
@@ -150,6 +150,16 @@ class NsDescriptor(object):
logger.error("[%s] is not distributed.", vnfd_name)
raise CatalogException("VNF package(%s) is not distributed." % vnfd_id)
+ for pnf in nsd["pnfs"]:
+ pnfd_id = pnf["properties"].get("descriptor_id", "undefined")
+ if pnfd_id == "undefined":
+ pnfd_id = pnf["properties"].get("id", "undefined")
+ pkg = PnfPackageModel.objects.filter(pnfdId=pnfd_id)
+ if not pkg:
+ pnfd_name = pnf.get("vnf_id", "undefined")
+ logger.error("[%s] is not distributed.", pnfd_name)
+ raise CatalogException("VNF package(%s) is not distributed." % pnfd_name)
+
ns_pkgs.update(
nsdId=nsd_id,
nsdName=nsd_name,