# limitations under the License.
import json
-from lcm.pub.utils.toscaparser.convert import convert_nsd, convert_vnfd
from lcm.pub.utils.toscaparser.nsdmodel import EtsiNsdInfoModel
from lcm.pub.utils.toscaparser.vnfdmodel import EtsiVnfdInfoModel
-from lcm.pub.utils.toscaparser.parser import parse_nsd_model, parse_vnfd_model
def parse_nsd(path, input_parameters=[]):
strResponse = json.dumps(tosca_obj, default=lambda obj: obj.__dict__)
strResponse = strResponse.replace(': null', ': ""')
return strResponse
-
self.cps = self.get_all_cp(nodeTemplates)
self.routers = self.get_all_router(nodeTemplates)
self.fps = self._get_all_fp(nodeTemplates)
+ self.vnffgs = self._get_all_vnffg(tosca.topology_template.groups)
+ self.server_groups = self.get_all_server_group(tosca.topology_template.groups)
def buildInputs(self, top_inputs):
def get_node_by_req(self, node_templates, req):
req_node_name = self.get_requirement_node_name(req)
return self.get_node_by_name(node_templates, req_node_name)
+
+ def _get_all_vnffg(self, groups):
+ vnffgs = []
+ for group in groups:
+ if self._isVnffg(group):
+ vnffg = {}
+ vnffg['vnffg_id'] = group.name
+ vnffg['description'] = group.description
+ if 'properties' in group.tpl:
+ vnffg['properties'] = group.tpl['properties']
+ vnffg['members'] = group.members
+
+ vnffgs.append(vnffg)
+ return vnffgs
+
+ def _isVnffg(self, group):
+ return group.type.upper().find('.VNFFG.') >= 0 or group.type.upper().find(
+ '.SFC.') >= 0 or group.type.upper().endswith('.VNFFG') or group.type.upper().endswith('.SFC')
+
+ def get_all_server_group(self, groups):
+ rets = []
+ for group in groups:
+ if self._isServerGroup(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 _isServerGroup(self, group):
+ return group.type.upper().find('.AFFINITYORANTIAFFINITYGROUP.') >= 0 or group.type.upper().endswith(
+ '.AFFINITYORANTIAFFINITYGROUP')