aboutsummaryrefslogtreecommitdiffstats
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.py33
1 files changed, 21 insertions, 12 deletions
diff --git a/catalog/packages/biz/ns_descriptor.py b/catalog/packages/biz/ns_descriptor.py
index 9bd00692..bdd56bd1 100644
--- a/catalog/packages/biz/ns_descriptor.py
+++ b/catalog/packages/biz/ns_descriptor.py
@@ -25,7 +25,6 @@ from catalog.pub.database.models import NSPackageModel, PnfPackageModel, VnfPack
from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
from catalog.pub.utils import fileutil, toscaparser
from catalog.pub.utils.values import ignore_case_get
-from catalog.pub.utils.toscaparser.const import NS_UUID, NS_INVARIANTUUID, NS_NAME, NS_VERSION, NS_DESIGNER, NS_DESCRIPTION
logger = logging.getLogger(__name__)
@@ -131,14 +130,20 @@ class NsDescriptor(object):
logger.debug("%s", nsd_json)
nsd = json.JSONDecoder().decode(nsd_json)
- nsd_id = nsd[METADATA].get(NS_UUID, "undefined")
- if nsd_id == "undefined":
- raise CatalogException("Service UUID(%s) does not exist in metadata." % nsd_id)
+ nsd_id = nsd.get("ns", {}).get("properties", {}).get("descriptor_id", "")
+ nsd_name = nsd.get("ns", {}).get("properties", {}).get("name", "")
+ nsd_version = nsd.get("ns", {}).get("properties", {}).get("version", "")
+ nsd_desginer = nsd.get("ns", {}).get("properties", {}).get("desginer", "")
+ invariant_id = nsd.get("ns", {}).get("properties", {}).get("invariant_id", "")
+ if nsd_id == "":
+ raise CatalogException("nsd_id(%s) does not exist in metadata." % nsd_id)
if NSPackageModel.objects.filter(nsdId=nsd_id):
raise CatalogException("NSD(%s) already exists." % nsd_id)
for vnf in nsd["vnfs"]:
- vnfd_id = vnf["properties"].get("id", "undefined")
+ vnfd_id = vnf["properties"].get("descriptor_id", "undefined")
+ if vnfd_id == "undefined":
+ vnfd_id = vnf["properties"].get("id", "undefined")
pkg = VnfPackageModel.objects.filter(vnfdId=vnfd_id)
if not pkg:
vnfd_name = vnf.get("vnf_id", "undefined")
@@ -147,11 +152,11 @@ class NsDescriptor(object):
ns_pkgs.update(
nsdId=nsd_id,
- nsdName=nsd[METADATA].get(NS_NAME, "undefined"),
- nsdDesginer=nsd[METADATA].get(NS_DESIGNER, "undefined"),
- nsdDescription=nsd[METADATA].get(NS_DESCRIPTION, ""),
- nsdVersion=nsd[METADATA].get(NS_VERSION, "undefined"),
- invariantId=nsd[METADATA].get(NS_INVARIANTUUID, "undefined"),
+ nsdName=nsd_name,
+ nsdDesginer=nsd_desginer,
+ nsdDescription=nsd.get("description", ""),
+ nsdVersion=nsd_version,
+ invariantId=invariant_id,
onboardingState=PKG_STATUS.ONBOARDED,
operationalState=PKG_STATUS.ENABLED,
usageState=PKG_STATUS.NOT_IN_USE,
@@ -185,7 +190,9 @@ class NsDescriptor(object):
nsd_model = json.JSONDecoder().decode(ns_pkg.nsdModel)
vnf_pkg_ids = []
for vnf in nsd_model['vnfs']:
- vnfd_id = vnf["properties"]["id"]
+ vnfd_id = vnf["properties"].get("descriptor_id", "undefined")
+ if vnfd_id == "undefined":
+ vnfd_id = vnf["properties"].get("id", "undefined")
pkgs = VnfPackageModel.objects.filter(vnfdId=vnfd_id)
for pkg in pkgs:
vnf_pkg_ids.append(pkg.vnfPackageId)
@@ -193,7 +200,9 @@ class NsDescriptor(object):
pnf_info_ids = []
for pnf in nsd_model['pnfs']:
- pnfd_id = pnf["properties"]["id"]
+ pnfd_id = pnf["properties"].get("descriptor_id", "undefined")
+ if pnfd_id == "undefined":
+ pnfd_id = pnf["properties"].get("id", "undefined")
pkgs = PnfPackageModel.objects.filter(pnfdId=pnfd_id)
for pkg in pkgs:
pnf_info_ids.append(pkg.pnfPackageId)