From ed8fdc296b73f80d81f0a38d472c9554817436d6 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Fri, 25 Aug 2017 17:55:11 +0800 Subject: Extend ns instant with new parser support Change-Id: I218cc2c353417620626813ce94bdf5f90f31bb7c Issue-Id: VFC-174 Signed-off-by: fujinhua --- lcm/ns/ns_instant.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/lcm/ns/ns_instant.py b/lcm/ns/ns_instant.py index 4a64c093..d16ea526 100644 --- a/lcm/ns/ns_instant.py +++ b/lcm/ns/ns_instant.py @@ -21,9 +21,9 @@ import uuid from rest_framework import status from lcm.pub.database.models import DefPkgMappingModel, ServiceBaseInfoModel, InputParamMappingModel -from lcm.pub.database.models import NSInstModel, NfPackageModel, VNFFGInstModel, WFPlanModel -from lcm.pub.msapi.catalog import get_process_id, get_download_url_from_catalog -from lcm.pub.msapi.catalog import query_rawdata_from_catalog, get_servicetemplate_id, get_servicetemplate +from lcm.pub.database.models import NSInstModel, NfPackageModel, VNFFGInstModel, WFPlanModel, NSDModel +from lcm.pub.msapi.catalog import get_process_id, query_rawdata_from_catalog +from lcm.pub.msapi.catalog import get_servicetemplate_id, get_servicetemplate from lcm.pub.msapi.wso2bpel import workflow_run from lcm.pub.msapi.extsys import select_vnfm from lcm.pub.utils.jobutil import JobUtil @@ -33,6 +33,7 @@ from lcm.pub.exceptions import NSLCMException from lcm.pub.config.config import WORKFLOW_OPTION from lcm.workflows import build_in from lcm.pub.msapi import activiti +from lcm.pub.utils import toscaparser logger = logging.getLogger(__name__) @@ -61,9 +62,15 @@ class InstantNSService(object): location_constraints = self.req_data['locationConstraints'] JobUtil.add_job_status(job_id, 5, 'Start query nsd(%s)' % ns_inst.nspackage_id) - src_plan = query_rawdata_from_catalog(ns_inst.nspackage_id, input_parameters) - dst_plan = toscautil.convert_nsd_model(src_plan["rawData"]) + dst_plan = None + if WORKFLOW_OPTION == "wso2": + src_plan = query_rawdata_from_catalog(ns_inst.nspackage_id, input_parameters) + dst_plan = toscautil.convert_nsd_model(src_plan["rawData"]) + else: + nsd_pkg = NSDModel.objects.get(id=ns_inst.nspackage_id) + dst_plan = toscaparser.parse_nsd(nsd_pkg.nsd_path, input_parameters) logger.debug('tosca plan dest:%s' % dst_plan) + NSInstModel.objects.filter(id=self.ns_inst_id).update(nsd_model=dst_plan) params_json = json.JSONEncoder().encode(self.req_data["additionalParamForNs"]) @@ -112,11 +119,15 @@ class InstantNSService(object): creator='--', create_time=int(time.time()*1000)).save() - service_tpl = get_servicetemplate(ns_inst.nsd_id) - DefPkgMappingModel(service_id=self.ns_inst_id, - service_def_id=service_tpl['csarId'], - template_name=service_tpl['templateName'], - template_id=service_tpl['serviceTemplateId']).save() + if WORKFLOW_OPTION == "wso2": + service_tpl = get_servicetemplate(ns_inst.nsd_id) + DefPkgMappingModel(service_id=self.ns_inst_id, + service_def_id=service_tpl['csarId'], + template_name=service_tpl['templateName'], + template_id=service_tpl['serviceTemplateId']).save() + else: + # TODO: + pass for key, val in self.req_data['additionalParamForNs'].items(): InputParamMappingModel(service_id=self.ns_inst_id, -- cgit 1.2.3-korg