X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=lcm%2Fns%2Fns_instant.py;h=5c2d363c7879dded21494977129a6ffe6400a478;hb=66404e550d2d7d40e84990579d20d8697eb3167b;hp=f73fbd94a75e55955254815707cb6400717caff7;hpb=b7ae6077d657a971ec3bf8f86f327a66569b1a68;p=vfc%2Fnfvo%2Flcm.git diff --git a/lcm/ns/ns_instant.py b/lcm/ns/ns_instant.py index f73fbd94..5c2d363c 100644 --- a/lcm/ns/ns_instant.py +++ b/lcm/ns/ns_instant.py @@ -16,6 +16,7 @@ import logging import time import traceback import uuid +from threading import Thread from rest_framework import status @@ -37,6 +38,15 @@ from lcm.workflows import build_in logger = logging.getLogger(__name__) +class BuildInWorkflowThread(Thread): + def __init__(self, plan_input): + Thread.__init__(self) + self.plan_input = plan_input + + def run(self): + build_in.run_ns_instantiate(self.plan_input) + + class InstantNSService(object): def __init__(self, ns_inst_id, plan_content): self.ns_inst_id = ns_inst_id @@ -77,11 +87,7 @@ class InstantNSService(object): plan_dict = json.JSONDecoder().decode(dst_plan) for vnf in ignore_case_get(plan_dict, "vnfs"): vnfd_id = vnf['properties']['id'] - # vnfd = NfPackageModel.objects.get(vnfdid=vnfd_id) - # vnfpackage_info = query_vnfpackage_by_id(vnfd_id) - # vnfd_model = json.JSONDecoder().decode(ignore_case_get(vnfpackage_info["packageInfo"], "vnfdModel")) - # vnfm_type = vnfd_model["metadata"].get("vnfmType", "ztevmanagerdriver") - vnfm_type = vnf['properties'].get("nf_type", "ztevmanagerdriver") + vnfm_type = vnf['properties'].get("nf_type", "undefined") vimid = self.get_vnf_vim_id(vim_id, location_constraints, vnfd_id) vnfm_info = select_vnfm(vnfm_type=vnfm_type, vim_id=vimid) params_vnf.append({ @@ -187,7 +193,7 @@ class InstantNSService(object): def start_buildin_workflow(self, job_id, plan_input): JobUtil.add_job_status(job_id, 10, 'NS inst(%s) buildin workflow started.' % self.ns_inst_id) - build_in.run_ns_instantiate(plan_input) + BuildInWorkflowThread(plan_input).start() return dict(data={'jobId': job_id}, status=status.HTTP_200_OK) def get_vnf_vim_id(self, vim_id, location_constraints, vnfdid):