From 442bd3f434c06eedc23dd018502e840fddf6e9a1 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 4 Jan 2023 07:24:52 +0100 Subject: [PATCH] Compatibility with some old modules (#2514) - old click differently handles argument names - old pytest doesn't like `from mock import call` Bump version and update release notes. Close: https://github.com/zalando/patroni/issues/2508 Close: https://github.com/zalando/patroni/issues/2512 --- docs/releases.rst | 10 ++++++++++ patroni/ctl.py | 2 +- patroni/version.py | 2 +- tests/test_ctl.py | 2 +- tests/test_kubernetes.py | 5 +++-- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/releases.rst b/docs/releases.rst index 48c29837..17828e1b 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -3,6 +3,16 @@ Release notes ============= +Version 2.1.7 +------------- + +**Bugfixes** + +- Fixed little incompatibilities with legacy python modules (Alexander Kukushkin) + + They prevented from building/running Patroni on Debian buster/Ubuntu bionic. + + Version 2.1.6 ------------- diff --git a/patroni/ctl.py b/patroni/ctl.py index 2568f83e..ec780731 100644 --- a/patroni/ctl.py +++ b/patroni/ctl.py @@ -143,7 +143,7 @@ option_insecure = click.option('-k', '--insecure', is_flag=True, help='Allow con @click.group() @click.option('--config-file', '-c', help='Configuration file', envvar='PATRONICTL_CONFIG_FILE', default=CONFIG_FILE_PATH) -@click.option('--dcs-url', '--dcs', '-d', help='The DCS connect url', envvar='DCS_URL') +@click.option('--dcs-url', '--dcs', '-d', 'dcs_url', help='The DCS connect url', envvar='DCS_URL') @option_insecure @click.pass_context def ctl(ctx, config_file, dcs_url, insecure): diff --git a/patroni/version.py b/patroni/version.py index da04cc33..bc6379c1 100644 --- a/patroni/version.py +++ b/patroni/version.py @@ -1 +1 @@ -__version__ = '2.1.6' +__version__ = '2.1.7' diff --git a/tests/test_ctl.py b/tests/test_ctl.py index dbb77c4d..87b8e6ca 100644 --- a/tests/test_ctl.py +++ b/tests/test_ctl.py @@ -39,7 +39,7 @@ class TestCtl(unittest.TestCase): self.assertRaises(PatroniCtlException, load_config, './non-existing-config-file', None) with patch('os.path.exists', Mock(return_value=True)), \ - patch('patroni.config.Config._load_config_path', Mock(return_value={})): + patch('patroni.config.Config._load_config_path', Mock(return_value={})): load_config(CONFIG_FILE_PATH, None) mock_logger_debug.assert_called_once() self.assertEqual(('Ignoring configuration file "%s". It does not exists or is not readable.', diff --git a/tests/test_kubernetes.py b/tests/test_kubernetes.py index 2dd1fd70..27238a1c 100644 --- a/tests/test_kubernetes.py +++ b/tests/test_kubernetes.py @@ -1,11 +1,12 @@ import base64 import datetime import json +import mock import socket import time import unittest -from mock import call, Mock, PropertyMock, mock_open, patch +from mock import Mock, PropertyMock, mock_open, patch from patroni.dcs.kubernetes import k8s_client, k8s_config, K8sConfig, K8sConnectionFailed,\ K8sException, K8sObject, Kubernetes, KubernetesError, KubernetesRetriableException,\ Retry, RetryFailedError, SERVICE_HOST_ENV_NAME, SERVICE_PORT_ENV_NAME @@ -134,7 +135,7 @@ class TestK8sConfig(unittest.TestCase): mock_atexit.assert_called_once() mock_remove.side_effect = OSError mock_atexit.call_args[0][0]() # call _cleanup_temp_files - mock_remove.assert_has_calls([call('1.tmp'), call('2.tmp')]) + mock_remove.assert_has_calls([mock.call('1.tmp'), mock.call('2.tmp')]) @patch('urllib3.PoolManager.request')