summaryrefslogtreecommitdiffstats
path: root/catalog/pub/utils/toscaparser/vnfdmodel.py
diff options
context:
space:
mode:
Diffstat (limited to 'catalog/pub/utils/toscaparser/vnfdmodel.py')
-rw-r--r--catalog/pub/utils/toscaparser/vnfdmodel.py54
1 files changed, 25 insertions, 29 deletions
diff --git a/catalog/pub/utils/toscaparser/vnfdmodel.py b/catalog/pub/utils/toscaparser/vnfdmodel.py
index 0494bd63..ce0206fe 100644
--- a/catalog/pub/utils/toscaparser/vnfdmodel.py
+++ b/catalog/pub/utils/toscaparser/vnfdmodel.py
@@ -34,7 +34,7 @@ class EtsiVnfdInfoModel(BaseInfoModel):
def parseModel(self, tosca):
self.vnf = {}
- self.vnf = self.build_vnf(tosca)
+ self.vnf = self._build_vnf(tosca)
self.metadata = self.buildMetadata(tosca)
self.inputs = self.buildInputs(tosca)
nodeTemplates = map(functools.partial(self.buildNode, tosca=tosca),
@@ -45,7 +45,7 @@ class EtsiVnfdInfoModel(BaseInfoModel):
self.vdus = self._get_all_vdu(nodeTemplates, node_types)
self.vls = self._get_all_vl(nodeTemplates, node_types)
self.cps = self._get_all_cp(nodeTemplates, node_types)
- self.vnf_exposed = self._get_all_endpoint_exposed(tosca.topology_template)
+ self.vnf_exposed = self._get_all_endpoint_exposed()
self.graph = self.get_deploy_graph(tosca, NFV_VNF_RELATIONSHIPS)
def _get_all_volume_storage(self, nodeTemplates, node_types):
@@ -189,54 +189,52 @@ class EtsiVnfdInfoModel(BaseInfoModel):
cp_vl[key] = value
return cp_vl
- def _get_all_endpoint_exposed(self, topo_tpl):
- if 'substitution_mappings' in topo_tpl.tpl:
- external_cps = self._get_external_cps(topo_tpl.tpl['substitution_mappings'])
- forward_cps = self._get_forward_cps(topo_tpl.tpl['substitution_mappings'])
+ def _get_all_endpoint_exposed(self):
+ if self.vnf:
+ external_cps = self._get_external_cps(self.vnf.get('requirements', None))
+ forward_cps = self._get_forward_cps(self.vnf.get('capabilities', None))
return {"external_cps": external_cps, "forward_cps": forward_cps}
return {}
- def _get_external_cps(self, subs_mappings):
+ def _get_external_cps(self, vnf_requirements):
external_cps = []
- if 'requirements' in subs_mappings:
- for key, value in subs_mappings['requirements'].items():
+ if vnf_requirements:
+ for key, value in vnf_requirements.items():
if isinstance(value, list) and len(value) > 0:
external_cps.append({"key_name": key, "cpd_id": value[0]})
else:
external_cps.append({"key_name": key, "cpd_id": value})
return external_cps
- def _get_forward_cps(self, subs_mappings):
+ def _get_forward_cps(self, vnf_capabilities):
forward_cps = []
- if 'capabilities' in subs_mappings:
- for key, value in subs_mappings['capabilities'].items():
+ if vnf_capabilities:
+ for key, value in vnf_capabilities.items():
if isinstance(value, list) and len(value) > 0:
forward_cps.append({"key_name": key, "cpd_id": value[0]})
else:
forward_cps.append({"key_name": key, "cpd_id": value})
return forward_cps
- def get_substitution_mappings(self, tosca):
- node = {}
- substitution_mappings = tosca.tpl['topology_template'].get('substitution_mappings', None)
- if substitution_mappings:
- node = substitution_mappings.get('properties', {})
- node['type'] = substitution_mappings['node_type']
- return node
+ # def get_substitution_mappings(self, tosca):
+ # node = {}
+ # substitution_mappings = tosca.tpl['topology_template'].get('substitution_mappings', None)
+ # if substitution_mappings:
+ # node = substitution_mappings.get('properties', {})
+ # node['type'] = substitution_mappings['node_type']
+ # return node
- def build_vnf(self, tosca):
- properties = self.get_substitution_mappings(tosca)
- metadata = self.buildMetadata(tosca)
+ def _build_vnf(self, tosca):
+ vnf = self.get_substitution_mappings(tosca)
+ properties = vnf.get("properties", {})
+ metadata = vnf.get("metadata", {})
if properties.get("descriptor_id", "") == "":
descriptor_id = metadata.get("descriptor_id", "")
if descriptor_id == "":
descriptor_id = metadata.get("id", "")
if descriptor_id == "":
descriptor_id = metadata.get("UUID", "")
- # if descriptor_id == "":
- # raise CatalogException('descriptor_id is Null.')
- else:
- properties["descriptor_id"] = descriptor_id
+ properties["descriptor_id"] = descriptor_id
if properties.get("descriptor_verison", "") == "":
version = metadata.get("template_version", "")
@@ -255,7 +253,5 @@ class EtsiVnfdInfoModel(BaseInfoModel):
if template_name == "":
template_name = metadata.get("template_name", "")
properties["template_name"] = template_name
- vnf = {}
- vnf['properties'] = properties
- vnf['metadata'] = metadata
+
return vnf