diff --git a/patroni/__main__.py b/patroni/__main__.py index b365bfe2..42f539d1 100644 --- a/patroni/__main__.py +++ b/patroni/__main__.py @@ -74,7 +74,7 @@ class Patroni(AbstractPatroniDaemon): if not isinstance(member, Member): return try: - _ = self.request(member, endpoint="/liveness") + _ = self.request(member, endpoint="/liveness", timeout=3) logger.fatal("Can't start; there is already a node named '%s' running", self.config['name']) sys.exit(1) except Exception: diff --git a/tests/test_patroni.py b/tests/test_patroni.py index e5785231..605b3227 100644 --- a/tests/test_patroni.py +++ b/tests/test_patroni.py @@ -40,6 +40,7 @@ class MockFrozenImporter(object): @patch('time.sleep', Mock()) @patch('subprocess.call', Mock(return_value=0)) @patch('patroni.psycopg.connect', psycopg_connect) +@patch('urllib3.PoolManager.request', Mock(side_effect=Exception)) @patch.object(ConfigHandler, 'append_pg_hba', Mock()) @patch.object(ConfigHandler, 'write_postgresql_conf', Mock()) @patch.object(ConfigHandler, 'write_recovery_conf', Mock()) @@ -63,6 +64,7 @@ class TestPatroni(unittest.TestCase): self.assertRaises(SystemExit, _main) @patch('pkgutil.iter_importers', Mock(return_value=[MockFrozenImporter()])) + @patch('urllib3.PoolManager.request', Mock(side_effect=Exception)) @patch('sys.frozen', Mock(return_value=True), create=True) @patch.object(HTTPServer, '__init__', Mock()) @patch.object(etcd.Client, 'read', etcd_read)