aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorying.yunlong <ying.yunlong@zte.com.cn>2017-09-11 13:44:16 +0800
committerying.yunlong <ying.yunlong@zte.com.cn>2017-09-11 13:44:16 +0800
commit84db1ab3171e79e6e3f053fc4613a06cb04e3c5d (patch)
tree1e59d806c1b8666251dd720dc54538be848be8d2
parent2305dd160b22664250f5e44caf4c112ebce7f9ba (diff)
Implement vnfd model parse function
Change-Id: If4f1b889c79567baec9cf41d7fe6a374893e93af Issue-ID: VFC-142 Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
-rw-r--r--lcm/pub/utils/toscaparser/vnfdmodel.py13
1 files changed, 13 insertions, 0 deletions
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')