aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorying.yunlong <ying.yunlong@zte.com.cn>2017-09-05 13:08:31 +0800
committerying.yunlong <ying.yunlong@zte.com.cn>2017-09-05 13:08:31 +0800
commit446482e2f5281155600cd4ea2b6dd50b1d3ae2df (patch)
tree2bcd49d4b8cdc01ab83bb9a1fd879ce54f000173
parent22d12dffcfafe9ae55ceffdef8af448a596612e4 (diff)
Add parser convert vnfd element_group
After parse the vnfd package, add _get_all_element_group function to convert the element_group info. Change-Id: I40b4d5afe1c0cf74537e0e1a273c183a9d586399 Issue-ID: VFC-272 Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
-rw-r--r--lcm/pub/utils/toscaparser/vnfdmodel.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/lcm/pub/utils/toscaparser/vnfdmodel.py b/lcm/pub/utils/toscaparser/vnfdmodel.py
index 2deb87f6..443bdb82 100644
--- a/lcm/pub/utils/toscaparser/vnfdmodel.py
+++ b/lcm/pub/utils/toscaparser/vnfdmodel.py
@@ -40,6 +40,9 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel):
self.vls = self.get_all_vl(nodeTemplates)
self.cps = self.get_all_cp(nodeTemplates)
self.plugins = self.get_all_plugin(nodeTemplates)
+ self.routers = self.get_all_router(nodeTemplates)
+ self.server_groups = self.get_all_server_group(tosca.topology_template.groups)
+ self.element_groups = self._get_all_element_group(tosca.topology_template.groups)
def _get_all_services(self, nodeTemplates):
@@ -269,3 +272,19 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel):
def _isPlugin(self, node):
return node['nodeType'].lower().find('.plugin.') >= 0 or node['nodeType'].lower().endswith('.plugin')
+
+ def _get_all_element_group(self, groups):
+ rets = []
+ for group in groups:
+ if self._isVnfdElementGroup(group):
+ ret = {}
+ ret['group_id'] = group.name
+ ret['description'] = group.description
+ if 'properties' in group.tpl:
+ ret['properties'] = group.tpl['properties']
+ ret['members'] = group.members
+ rets.append(ret)
+ return rets
+
+ def _isVnfdElementGroup(self, group):
+ return group.type.upper().find('.VNFDELEMENTGROUP.') >= 0 or group.type.upper().endswith('.VNFDELEMENTGROUP')