From 24cc93ac70cc29aa641afe09172faa696c8aa9ff Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 30 Mar 2016 15:00:25 +0200 Subject: [PATCH] Don't expose known boolean tags with value not True --- patroni/__init__.py | 3 ++- patroni/api.py | 7 ++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/patroni/__init__.py b/patroni/__init__.py index 36c8feac..21fdbea3 100644 --- a/patroni/__init__.py +++ b/patroni/__init__.py @@ -19,7 +19,8 @@ class Patroni(object): def __init__(self, config): self.nap_time = config['loop_wait'] - self.tags = config.get('tags', dict()) + self.tags = {tag: value for tag, value in config.get('tags', {}).items() + if tag not in ('clonefrom', 'nofailover', 'noloadbalance') or value} self.postgresql = Postgresql(config['postgresql']) self.dcs = self.get_dcs(self.postgresql.name, config) self.version = __version__ diff --git a/patroni/api.py b/patroni/api.py index cb7b2d1f..3f51059b 100644 --- a/patroni/api.py +++ b/patroni/api.py @@ -63,7 +63,7 @@ class RestApiHandler(BaseHTTPRequestHandler): path = '/master' if self.path == '/' else self.path response = self.get_postgresql_status() - response.update(self.get_tags()) + response['tags'] = self.server.patroni.tags patroni = self.server.patroni cluster = patroni.dcs.cluster @@ -94,7 +94,7 @@ class RestApiHandler(BaseHTTPRequestHandler): def do_GET_patroni(self): response = self.get_postgresql_status(True) - response.update(self.get_tags()) + response['tags'] = self.server.patroni.tags response['patroni'] = {'version': self.server.patroni.version, 'scope': self.server.patroni.postgresql.scope} self.send_response(200) @@ -289,9 +289,6 @@ class RestApiHandler(BaseHTTPRequestHandler): state = 'unknown' return {'state': state} - def get_tags(self): - return {'tags': self.server.patroni.tags} - def log_message(self, fmt, *args): logger.debug("API thread: %s - - [%s] %s", self.client_address[0], self.log_date_time_string(), fmt % args)