From 9288ce066b1271ef6b9838c3a584791b8e1ba396 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 21 Jul 2021 08:33:08 +0200 Subject: [PATCH] Reload REST API certificate only on SIGHUP (#2004) And make sure that cert number is cached when the RestApiServer object is created. Close https://github.com/zalando/patroni/issues/2003 --- patroni/__init__.py | 2 +- patroni/api.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/patroni/__init__.py b/patroni/__init__.py index dc5823fc..04e7e595 100644 --- a/patroni/__init__.py +++ b/patroni/__init__.py @@ -74,7 +74,7 @@ class Patroni(AbstractPatroniDaemon): if local: self.tags = self.get_tags() self.request.reload_config(self.config) - if local or self.api.reload_local_certificate(): + if local or sighup and self.api.reload_local_certificate(): self.api.reload_config(self.config['restapi']) self.watchdog.reload_config(self.config) self.postgresql.reload_config(self.config['postgresql'], sighup) diff --git a/patroni/api.py b/patroni/api.py index e5ebb8ef..eeffaf2c 100644 --- a/patroni/api.py +++ b/patroni/api.py @@ -646,10 +646,10 @@ class RestApiServer(ThreadingMixIn, HTTPServer, Thread): self.patroni = patroni self.__listen = None self.__ssl_options = None - self.reload_config(config) - self.daemon = True self.__ssl_serial_number = None self._received_new_cert = False + self.reload_config(config) + self.daemon = True def query(self, sql, *params): cursor = None