summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2017-08-25 17:55:11 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2017-08-25 17:55:11 +0800
commited8fdc296b73f80d81f0a38d472c9554817436d6 (patch)
tree1084f5208dbc64fdcb61344d5a7912c6e8bbdc3e
parent6f1871a60f647939c4398c3825b08afe426f262f (diff)
Extend ns instant with new parser support
Change-Id: I218cc2c353417620626813ce94bdf5f90f31bb7c Issue-Id: VFC-174 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/ns_instant.py31
1 files 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,