Don't expose known boolean tags with value not True

This commit is contained in:
Alexander Kukushkin
2016-03-30 15:00:25 +02:00
parent db5999a639
commit 24cc93ac70
2 changed files with 4 additions and 6 deletions
+2 -1
View File
@@ -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__
+2 -5
View File
@@ -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)