summaryrefslogtreecommitdiff
path: root/zuul/cmd/scheduler.py
diff options
context:
space:
mode:
authorJan Kubovy <jan.kubovy@bmw.de>2020-10-15 10:48:40 +0200
committerFelix Edel <felix.edel@bmw.de>2021-02-15 14:44:18 +0100
commitd518e56208c857fd1438d614961a2c66dd92ca7d (patch)
tree57146b7484f4d666fa7533c5491edf82915ed5ca /zuul/cmd/scheduler.py
parentdddbb3dbfe4e307072ae7c3c911ccffb02835d3a (diff)
downloadzuul-d518e56208c857fd1438d614961a2c66dd92ca7d.tar.gz
Prepare Zookeeper for scale-out scheduler
This change is a common root for other Zookeeper related changed regarding scale-out-scheduler. Zookeeper becoming a central component requires to increase "maxClientCnxns". Since the ZooKeeper class is expected to grow significantly (ZooKeeper is becoming a central part of Zuul) a split of the ZooKeeper class (zk.py) into zk module is done here to avoid the current god-class. Also the zookeeper log is copied to the "zuul_output_dir". Change-Id: I714c06052b5e17269a6964892ad53b48cf65db19 Story: 2007192
Diffstat (limited to 'zuul/cmd/scheduler.py')
-rwxr-xr-xzuul/cmd/scheduler.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/zuul/cmd/scheduler.py b/zuul/cmd/scheduler.py
index 4602bb783..cbda4fbd8 100755
--- a/zuul/cmd/scheduler.py
+++ b/zuul/cmd/scheduler.py
@@ -20,13 +20,12 @@ import signal
import zuul.cmd
import zuul.executor.client
+from zuul.lib.config import get_default
+from zuul.lib.statsd import get_statsd_config
import zuul.merger.client
import zuul.nodepool
import zuul.scheduler
-import zuul.zk
-
-from zuul.lib.config import get_default
-from zuul.lib.statsd import get_statsd_config
+from zuul.zk import ZooKeeperClient
class Scheduler(zuul.cmd.ZuulDaemonApp):
@@ -144,7 +143,7 @@ class Scheduler(zuul.cmd.ZuulDaemonApp):
merger = zuul.merger.client.MergeClient(self.config, self.sched)
nodepool = zuul.nodepool.Nodepool(self.sched)
- zookeeper = zuul.zk.ZooKeeper(enable_cache=True)
+ zk_client = ZooKeeperClient()
zookeeper_hosts = get_default(self.config, 'zookeeper', 'hosts', None)
if not zookeeper_hosts:
raise Exception("The zookeeper hosts config value is required")
@@ -153,7 +152,7 @@ class Scheduler(zuul.cmd.ZuulDaemonApp):
zookeeper_tls_ca = get_default(self.config, 'zookeeper', 'tls_ca')
zookeeper_timeout = float(get_default(self.config, 'zookeeper',
'session_timeout', 10.0))
- zookeeper.connect(
+ zk_client.connect(
zookeeper_hosts,
timeout=zookeeper_timeout,
tls_cert=zookeeper_tls_cert,
@@ -164,7 +163,7 @@ class Scheduler(zuul.cmd.ZuulDaemonApp):
self.sched.setExecutor(gearman)
self.sched.setMerger(merger)
self.sched.setNodepool(nodepool)
- self.sched.setZooKeeper(zookeeper)
+ self.sched.setZooKeeper(zk_client)
self.log.info('Starting scheduler')
try:
@@ -191,6 +190,7 @@ class Scheduler(zuul.cmd.ZuulDaemonApp):
self.exit_handler(signal.SIGINT, None)
else:
self.sched.join()
+ zk_client.disconnect()
def main():