diff options
author | Jan Kubovy <jan.kubovy@bmw.de> | 2020-10-15 10:48:40 +0200 |
---|---|---|
committer | Felix Edel <felix.edel@bmw.de> | 2021-02-15 14:44:18 +0100 |
commit | d518e56208c857fd1438d614961a2c66dd92ca7d (patch) | |
tree | 57146b7484f4d666fa7533c5491edf82915ed5ca /zuul/cmd/scheduler.py | |
parent | dddbb3dbfe4e307072ae7c3c911ccffb02835d3a (diff) | |
download | zuul-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-x | zuul/cmd/scheduler.py | 14 |
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(): |