diff --git a/hooks/pcmk.py b/hooks/pcmk.py index 41ed7c7..e64e755 100644 --- a/hooks/pcmk.py +++ b/hooks/pcmk.py @@ -289,9 +289,14 @@ def get_property(name): :returns: property value :rtype: str """ + # get-property deprecated in favor of get_property (LP: #2008704) + if crm_version() >= StrictVersion('4.2.1'): + output = subprocess.check_output( + ['crm', 'configure', 'get_property', name], + universal_newlines=True) # crmsh >= 2.3 renamed show-property to get-property, 2.3.x is # available since zesty - if crm_version() >= StrictVersion('2.3.0'): + elif crm_version() >= StrictVersion('2.3.0'): output = subprocess.check_output( ['crm', 'configure', 'get-property', name], universal_newlines=True) diff --git a/unit_tests/test_pcmk.py b/unit_tests/test_pcmk.py index a3d3cee..f656cbe 100644 --- a/unit_tests/test_pcmk.py +++ b/unit_tests/test_pcmk.py @@ -277,6 +277,14 @@ class TestPcmk(unittest.TestCase): 'maintenance-mode'], universal_newlines=True) + mock_crm_version.return_value = StrictVersion('4.2.1') # >= jammy + mock_check_output.reset_mock() + self.assertEqual('false\n', pcmk.get_property('maintenance-mode')) + mock_check_output.assert_called_with(['crm', 'configure', + 'get_property', + 'maintenance-mode'], + universal_newlines=True) + @mock.patch('subprocess.check_output') @mock.patch.object(pcmk, 'crm_version') def test_get_property_from_xml(self, mock_crm_version, mock_check_output):