From ad7a1b8a16ea70abff4c2567a68b013a0d29c253 Mon Sep 17 00:00:00 2001 From: V Aitvaras <228085+DeathBorn@users.noreply.github.com> Date: Mon, 6 Nov 2017 17:44:30 +0200 Subject: [PATCH] Make it possible to provide datacenter configuration for Consul (#558) ```yaml consul: url: http://consul.host:8500 token: long-token-here dc: dev1-d1 ``` --- patroni/dcs/consul.py | 3 ++- tests/test_consul.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/patroni/dcs/consul.py b/patroni/dcs/consul.py index a03564fa..51aa4dd8 100644 --- a/patroni/dcs/consul.py +++ b/patroni/dcs/consul.py @@ -158,7 +158,8 @@ class Consul(AbstractDCS): if config.get('key') and config.get('cert'): config['cert'] = (config['cert'], config['key']) - kwargs = {p: config.get(p) for p in ('host', 'port', 'token', 'scheme', 'cert', 'ca_cert') if config.get(p)} + config_keys = ('host', 'port', 'token', 'scheme', 'cert', 'ca_cert', 'dc') + kwargs = {p: config.get(p) for p in config_keys if config.get(p)} verify = config.get('verify') if not isinstance(verify, bool): diff --git a/tests/test_consul.py b/tests/test_consul.py index 898b50d2..5703eb28 100644 --- a/tests/test_consul.py +++ b/tests/test_consul.py @@ -74,7 +74,7 @@ class TestConsul(unittest.TestCase): @patch.object(consul.Consul.KV, 'delete', Mock()) def setUp(self): Consul({'ttl': 30, 'scope': 't', 'name': 'p', 'url': 'https://l:1', 'retry_timeout': 10, - 'verify': 'on', 'key': 'foo', 'cert': 'bar', 'cacert': 'buz', 'token': 'asd'}) + 'verify': 'on', 'key': 'foo', 'cert': 'bar', 'cacert': 'buz', 'token': 'asd', 'dc': 'dc1'}) Consul({'ttl': 30, 'scope': 't', 'name': 'p', 'url': 'https://l:1', 'retry_timeout': 10, 'verify': 'on', 'cert': 'bar', 'cacert': 'buz'}) self.c = Consul({'ttl': 30, 'scope': 'test', 'name': 'postgresql1', 'host': 'localhost:1', 'retry_timeout': 10})