Start buildin workflow By thread 73/21573/3
authorfujinhua <fu.jinhua@zte.com.cn>
Wed, 1 Nov 2017 04:02:36 +0000 (12:02 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Wed, 1 Nov 2017 04:09:40 +0000 (12:09 +0800)
Change-Id: Id0856b84aedfcfb543429cd8431cd06487198101
Issue-Id: VFC-573
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/ns/ns_instant.py

index f73fbd9..5241808 100644 (file)
@@ -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
@@ -187,7 +197,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):