Fix catalog parse ns bug 09/20509/2
authorying.yunlong <ying.yunlong@zte.com.cn>
Wed, 25 Oct 2017 08:03:42 +0000 (16:03 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Wed, 25 Oct 2017 08:15:23 +0000 (16:15 +0800)
Change-Id: I66235fa0796942c0011bd6525e9f0629cbf9263d
Issue-ID: VFC-553
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
catalog/pub/utils/toscaparser/basemodel.py
catalog/pub/utils/toscaparser/nsdmodel.py
tox.ini

index 1b28b59..83d17ee 100644 (file)
@@ -153,7 +153,7 @@ class BaseInfoModel(object):
     def buidMetadata(self, tosca):
         if 'metadata' in tosca.tpl:
             self.metadata = copy.deepcopy(tosca.tpl['metadata'])
-            self.metadata['id'] = tosca.tpl['metadata']['invariantUUID']
+            self.metadata['id'] = tosca.tpl['metadata']['UUID']
 
     def buildProperties(self, nodeTemplate, parsed_params):
         properties = {}
index 4616232..47a05f0 100644 (file)
@@ -63,6 +63,10 @@ class EtsiNsdInfoModel(BaseInfoModel):
             ret['description'] = nodeTemplate.entity_tpl['description']
         else:
             ret['description'] = ''
+        if 'metadata' in nodeTemplate.entity_tpl:
+            ret['metadata'] = nodeTemplate.entity_tpl['metadata']
+        else:
+            ret['metadata'] = ''
         props = self.buildProperties(nodeTemplate, parsed_params)
         ret['properties'] = self.verify_properties(props, inputs, parsed_params)
         ret['requirements'] = self.build_requirements(nodeTemplate)
@@ -81,11 +85,12 @@ class EtsiNsdInfoModel(BaseInfoModel):
                 vnf['vnf_id'] = node['name']
                 vnf['description'] = node['description']
                 vnf['properties'] = node['properties']
+                vnf['properties']['id'] = node['metadata'].get('UUID', 'undefined')
                 for key in vnf['properties'].iterkeys():
                     if key.endswith('_version'):
                         vnf['properties'].update(version=vnf['properties'].pop(key))
-                    if key.endswith('_id'):
-                        vnf['properties'].update(id=vnf['properties'].pop(key))
+                    if key.endswith('_id'):
+                        vnf['properties'].update(id=vnf['properties'].pop(key))
                     if key.endswith('_csarProvider'):
                         vnf['properties'].update(csarProvider=vnf['properties'].pop(key))
                     if key.endswith('_csarVersion'):
diff --git a/tox.ini b/tox.ini
index a45ee89..7facc7c 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -6,7 +6,7 @@ skipsdist = true
 downloadcache = ~/cache/pip
 
 [flake8]
-ignore = E501
+ignore = E501,E722
 exclude =  ./venv-tox,./.tox
 
 [testenv]