From 0e8220f9f2271257405552f68a97b48db0ffc9b8 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 31 Aug 2016 15:08:31 +0200 Subject: [PATCH] BUGFIX: dcs configuration need to be updated from dcs... loop_wait and ttl is configured cluster-wide via config key stored in DCS. Depending on values of these parameters we are configuring different kind of timeouts used in DCS controllers. In order to fetch this configuration we first need to create DCS controller and only after apply parameters... --- patroni/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/patroni/__init__.py b/patroni/__init__.py index 6eba3790..d713969b 100644 --- a/patroni/__init__.py +++ b/patroni/__init__.py @@ -38,9 +38,11 @@ class Patroni(object): try: cluster = self.dcs.get_cluster() if cluster and cluster.config: - self.config.set_dynamic_configuration(cluster.config) + if self.config.set_dynamic_configuration(cluster.config): + self.dcs.reload_config(self.config) elif not self.config.dynamic_configuration and 'bootstrap' in self.config: - self.config.set_dynamic_configuration(self.config['bootstrap']['dcs']) + if self.config.set_dynamic_configuration(self.config['bootstrap']['dcs']): + self.dcs.reload_config(self.config) break except DCSError: logger.warning('Can not get cluster from dcs')