From 2de057024290be1428520de1d662cfbac4d60dae Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Mon, 19 Dec 2016 10:52:19 -0500 Subject: [PATCH] Change nodepoold ZK config change logic This changes the logic for ZK configuration changes to match the logic in the builder (resets the cluster host list without affecting current connections). Change-Id: Ic490c69a4db29612fd23263fcd0259dbf7af86a6 --- nodepool/nodepool.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/nodepool/nodepool.py b/nodepool/nodepool.py index 875068a00..04ed39a73 100644 --- a/nodepool/nodepool.py +++ b/nodepool/nodepool.py @@ -1041,18 +1041,15 @@ class NodePool(threading.Thread): configured = config.zookeeper_servers.values() if running == configured: self.log.debug("Zookeeper client does not need to be updated") - if self.config: - config.zookeeper_servers = self.config.zookeeper_servers return - if not self.zk: + if not self.zk and configured: self.log.debug("Connecting to ZooKeeper servers") self.zk = zk.ZooKeeper() + self.zk.connect(configured) else: self.log.debug("Detected ZooKeeper server changes") - self.zk.disconnect() - if configured: - self.zk.connect(config.zookeeper_servers.values()) + self.zk.resetHosts(configured) def setConfig(self, config): self.config = config