|
|
@@ -2430,20 +2430,23 @@ class ExecutorServer(object): |
|
|
|
self.ansible_manager.install() |
|
|
|
self.ansible_manager.copyAnsibleFiles() |
|
|
|
|
|
|
|
self.merger_jobs = { |
|
|
|
'merger:merge': self.merge, |
|
|
|
'merger:cat': self.cat, |
|
|
|
'merger:refstate': self.refstate, |
|
|
|
'merger:fileschanges': self.fileschanges, |
|
|
|
} |
|
|
|
self.merger_gearworker = ZuulGearWorker( |
|
|
|
'Zuul Executor Merger', |
|
|
|
'zuul.ExecutorServer', |
|
|
|
'merger', |
|
|
|
self.config, |
|
|
|
self.merger_jobs, |
|
|
|
worker_class=ExecutorMergeWorker, |
|
|
|
worker_args=[self]) |
|
|
|
if get_default(self.config, 'executor', 'merge_jobs', True): |
|
|
|
self.merger_jobs = { |
|
|
|
'merger:merge': self.merge, |
|
|
|
'merger:cat': self.cat, |
|
|
|
'merger:refstate': self.refstate, |
|
|
|
'merger:fileschanges': self.fileschanges, |
|
|
|
} |
|
|
|
self.merger_gearworker = ZuulGearWorker( |
|
|
|
'Zuul Executor Merger', |
|
|
|
'zuul.ExecutorServer', |
|
|
|
'merger', |
|
|
|
self.config, |
|
|
|
self.merger_jobs, |
|
|
|
worker_class=ExecutorMergeWorker, |
|
|
|
worker_args=[self]) |
|
|
|
else: |
|
|
|
self.merger_gearworker = None |
|
|
|
|
|
|
|
function_name = 'executor:execute' |
|
|
|
if self.zone: |
|
|
@@ -2474,7 +2477,8 @@ class ExecutorServer(object): |
|
|
|
self._running = True |
|
|
|
self._command_running = True |
|
|
|
|
|
|
|
self.merger_gearworker.start() |
|
|
|
if self.merger_gearworker is not None: |
|
|
|
self.merger_gearworker.start() |
|
|
|
self.executor_gearworker.start() |
|
|
|
|
|
|
|
self.log.debug("Starting command processor") |
|
|
@@ -2526,7 +2530,8 @@ class ExecutorServer(object): |
|
|
|
self.governor_stop_event.set() |
|
|
|
self.governor_thread.join() |
|
|
|
# Stop accepting new jobs |
|
|
|
self.merger_gearworker.gearman.setFunctions([]) |
|
|
|
if self.merger_gearworker is not None: |
|
|
|
self.merger_gearworker.gearman.setFunctions([]) |
|
|
|
self.executor_gearworker.gearman.setFunctions([]) |
|
|
|
# Tell the executor worker to abort any jobs it just accepted, |
|
|
|
# and grab the list of currently running job workers. |
|
|
@@ -2556,7 +2561,8 @@ class ExecutorServer(object): |
|
|
|
|
|
|
|
# All job results should have been sent by now, shutdown the |
|
|
|
# gearman workers. |
|
|
|
self.merger_gearworker.stop() |
|
|
|
if self.merger_gearworker is not None: |
|
|
|
self.merger_gearworker.stop() |
|
|
|
self.executor_gearworker.stop() |
|
|
|
|
|
|
|
if self.statsd: |
|
|
@@ -2573,7 +2579,8 @@ class ExecutorServer(object): |
|
|
|
self.governor_thread.join() |
|
|
|
for update_thread in self.update_threads: |
|
|
|
update_thread.join() |
|
|
|
self.merger_gearworker.join() |
|
|
|
if self.merger_gearworker is not None: |
|
|
|
self.merger_gearworker.join() |
|
|
|
self.executor_gearworker.join() |
|
|
|
|
|
|
|
def pause(self): |