Check VL type with all parent types. 63/40163/3
authorKailun Qin <kailun.qin@intel.com>
Mon, 2 Apr 2018 12:06:44 +0000 (20:06 +0800)
committeryunlong ying <ying.yunlong@zte.com.cn>
Tue, 3 Apr 2018 01:29:09 +0000 (01:29 +0000)
Change-Id: I5e8c3922b548bff330245f3630148617e6622c07
Issue-ID: VFC-858
Signed-off-by: Kailun Qin <kailun.qin@intel.com>
catalog/pub/utils/toscaparser/basemodel.py
catalog/pub/utils/toscaparser/nsdmodel.py
catalog/pub/utils/toscaparser/vnfdmodel.py

index 9d1ffe7..3f1f22e 100644 (file)
@@ -30,8 +30,8 @@ from catalog.pub.utils.toscaparser.dataentityext import DataEntityExt
 logger = logging.getLogger(__name__)
 
 # TOSCA template key names
-SECTIONS = (VDU_TYPE, CP_TYPE) = \
-           ('tosca.nodes.nfv.Vdu.Compute', 'tosca.nodes.nfv.Cp')
+SECTIONS = (VDU_TYPE, VL_TYPE, CP_TYPE) = \
+           ('tosca.nodes.nfv.Vdu.Compute', 'tosca.nodes.nfv.VnfVirtualLink', 'tosca.nodes.nfv.Cp')
 
 
 class BaseInfoModel(object):
@@ -254,10 +254,8 @@ class BaseInfoModel(object):
     def isCp(self, node, node_types):
         return self.isNodeTypeX(node, node_types, CP_TYPE)
 
-    def isVl(self, node):
-        isvl = node['nodeType'].upper().find('.VIRTUALLINK.') >= 0 or node['nodeType'].upper().find('.VL.') >= 0
-        isvl = isvl or node['nodeType'].upper().endswith('.VIRTUALLINK') or node['nodeType'].upper().endswith('.VL')
-        return isvl
+    def isVl(self, node, node_types):
+        return self.isNodeTypeX(node, node_types, VL_TYPE)
 
     def isService(self, node):
         return node['nodeType'].upper().find('.SERVICE.') >= 0 or node['nodeType'].upper().endswith('.SERVICE')
index 37d1c11..2e679e4 100644 (file)
@@ -33,7 +33,7 @@ class EtsiNsdInfoModel(BaseInfoModel):
         node_types = tosca.topology_template.custom_defs
         self.vnfs = self._get_all_vnf(nodeTemplates)
         self.pnfs = self._get_all_pnf(nodeTemplates)
-        self.vls = self.get_all_vl(nodeTemplates)
+        self.vls = self.get_all_vl(nodeTemplates, node_types)
         self.cps = self.get_all_cp(nodeTemplates, node_types)
         self.routers = self.get_all_router(nodeTemplates)
         self.fps = self._get_all_fp(nodeTemplates)
@@ -136,10 +136,10 @@ class EtsiNsdInfoModel(BaseInfoModel):
                                 cps.append(tmpnode)
         return cps
 
-    def get_all_vl(self, nodeTemplates):
+    def get_all_vl(self, nodeTemplates, node_types):
         vls = []
         for node in nodeTemplates:
-            if self.isVl(node):
+            if self.isVl(node, node_types):
                 vl = {}
                 vl['vl_id'] = node['name']
                 vl['description'] = node['description']
index f61dfe1..fbed8b9 100644 (file)
@@ -37,7 +37,7 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel):
         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, node_types)
-        self.vls = self.get_all_vl(nodeTemplates)
+        self.vls = self.get_all_vl(nodeTemplates, node_types)
         self.cps = self.get_all_cp(nodeTemplates, node_types)
         self.plugins = self.get_all_plugin(nodeTemplates)
         self.routers = self.get_all_router(nodeTemplates)