From: ying.yunlong Date: Mon, 11 Sep 2017 05:44:16 +0000 (+0800) Subject: Implement vnfd model parse function X-Git-Tag: v1.0.0~69 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F49%2F11549%2F1;p=vfc%2Fnfvo%2Flcm.git Implement vnfd model parse function Change-Id: If4f1b889c79567baec9cf41d7fe6a374893e93af Issue-ID: VFC-142 Signed-off-by: ying.yunlong --- diff --git a/lcm/pub/utils/toscaparser/vnfdmodel.py b/lcm/pub/utils/toscaparser/vnfdmodel.py index 443bdb82..f26ec967 100644 --- a/lcm/pub/utils/toscaparser/vnfdmodel.py +++ b/lcm/pub/utils/toscaparser/vnfdmodel.py @@ -43,6 +43,9 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel): 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) + self.policies = self._get_policies(tosca.topology_template.policies) + self.vnf_exposed = self.get_all_endpoint_exposed(tosca.topology_template) + self.vnf_flavours = self.get_all_flavour(tosca.topology_template.groups) def _get_all_services(self, nodeTemplates): @@ -288,3 +291,13 @@ class EtsiVnfdInfoModel(EtsiNsdInfoModel): def _isVnfdElementGroup(self, group): return group.type.upper().find('.VNFDELEMENTGROUP.') >= 0 or group.type.upper().endswith('.VNFDELEMENTGROUP') + + def _get_policies(self, top_policies): + policies = [] + scaling_policies = self.get_scaling_policies(top_policies) + healing_policies = self.get_healing_policies(top_policies) + policies.append({"scaling":scaling_policies, 'healing':healing_policies}) + return policies + + def get_healing_policies(self, top_policies): + return self.get_policies_by_keyword(top_policies,'.HEALING')