From: ying.yunlong Date: Tue, 5 Sep 2017 05:08:31 +0000 (+0800) Subject: Add parser convert vnfd element_group X-Git-Tag: v1.0.0~91 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F83%2F10283%2F1;p=vfc%2Fnfvo%2Flcm.git 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 --- 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')