Check VDU type with all parent types 57/40157/4
authorKailun Qin <kailun.qin@intel.com>
Fri, 30 Mar 2018 09:40:51 +0000 (17:40 +0800)
committerKailun Qin <kailun.qin@intel.com>
Fri, 30 Mar 2018 10:03:22 +0000 (18:03 +0800)
Change-Id: Id13c72011b5cd17a6e16b557dc59c472a0669e57
Issue-ID: VFC-858
Signed-off-by: Kailun Qin <kailun.qin@intel.com>
catalog/pub/utils/toscaparser/basemodel.py
catalog/pub/utils/toscaparser/vnfdmodel.py

index 20a990b..9d1ffe7 100644 (file)
@@ -30,8 +30,8 @@ from catalog.pub.utils.toscaparser.dataentityext import DataEntityExt
 logger = logging.getLogger(__name__)
 
 # TOSCA template key names
-SECTIONS = (CP_TYPE) = \
-           ('tosca.nodes.nfv.Cp')
+SECTIONS = (VDU_TYPE, CP_TYPE) = \
+           ('tosca.nodes.nfv.Vdu.Compute', 'tosca.nodes.nfv.Cp')
 
 
 class BaseInfoModel(object):
@@ -357,8 +357,8 @@ class BaseInfoModel(object):
     def is_nested_ns(self, node):
         return node['nodeType'].upper().find('.NS.') >= 0 or node['nodeType'].upper().endswith('.NS')
 
-    def isVdu(self, node):
-        return node['nodeType'].upper().find('.VDU.') >= 0 or node['nodeType'].upper().endswith('.VDU')
+    def isVdu(self, node, node_types):
+        return self.isNodeTypeX(node, node_types, VDU_TYPE)
 
     def getCapabilityByName(self, node, capabilityName):
         if 'capabilities' in node and capabilityName in node['capabilities']:
index f653736..f61dfe1 100644 (file)
@@ -36,7 +36,7 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel):
         self.image_files = self._get_all_image_file(nodeTemplates)
         self.local_storages = self._get_all_local_storage(nodeTemplates)
         self.volume_storages = self._get_all_volume_storage(nodeTemplates)
-        self.vdus = self._get_all_vdu(nodeTemplates)
+        self.vdus = self._get_all_vdu(nodeTemplates, node_types)
         self.vls = self.get_all_vl(nodeTemplates)
         self.cps = self.get_all_cp(nodeTemplates, node_types)
         self.plugins = self.get_all_plugin(nodeTemplates)
@@ -159,10 +159,10 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel):
         return node['nodeType'].upper().find('.VOLUMESTORAGE.') >= 0 or node['nodeType'].upper().endswith(
             '.VOLUMESTORAGE')
 
-    def _get_all_vdu(self, nodeTemplates):
+    def _get_all_vdu(self, nodeTemplates, node_types):
         rets = []
         for node in nodeTemplates:
-            if self.isVdu(node):
+            if self.isVdu(node, node_types):
                 ret = {}
                 ret['vdu_id'] = node['name']
                 if 'description' in node: