1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2026-03-22 05:09:12 +00:00

monit: deprecate support for monit <= 5.18 (#11254)

* monit: deprecate support for monit <= 5.18

* add additional runs for checking version

* add changelog frag

* bump deprecation for 14.0.0
This commit is contained in:
Alexei Znamensky 2026-03-17 08:04:05 +13:00 committed by GitHub
parent c8fe1e571f
commit cc24e57307
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 16 additions and 2 deletions

View file

@ -0,0 +1,2 @@
deprecated_features:
- monit - support for Monit version 5.18 or older is deprecated and will be removed in community.general 14.0.0 (https://github.com/ansible-collections/community.general/pull/11254).

View file

@ -39,6 +39,8 @@ options:
author: author:
- Darryl Stoflet (@dstoflet) - Darryl Stoflet (@dstoflet)
- Simon Kelly (@snopoke) - Simon Kelly (@snopoke)
requirements:
- Monit. Support for versions 5.18 and older is deprecated and will be removed in community.general 14.0.0.
""" """
EXAMPLES = r""" EXAMPLES = r"""
@ -125,6 +127,13 @@ class Monit:
self._raw_version = None self._raw_version = None
self._status_change_retry_count = 6 self._status_change_retry_count = 6
if self.monit_version() <= (5, 18):
module.deprecate(
"Support for monit 5.18 and older is deprecated and will be removed in community.general 14.0.0.",
version="14.0.0",
collection_name="community.general",
)
def monit_version(self): def monit_version(self):
if self._monit_version is None: if self._monit_version is None:
self._raw_version, version = self._get_monit_version() self._raw_version, version = self._get_monit_version()

View file

@ -24,6 +24,7 @@ class MonitTest(unittest.TestCase):
self.module = mock.MagicMock() self.module = mock.MagicMock()
self.module.exit_json.side_effect = AnsibleExitJson self.module.exit_json.side_effect = AnsibleExitJson
self.module.fail_json.side_effect = AnsibleFailJson self.module.fail_json.side_effect = AnsibleFailJson
self.module.run_command.return_value = (0, "This is monit version 5.26.0", "")
self.monit = monit.Monit(self.module, "monit", "processX", 1) self.monit = monit.Monit(self.module, "monit", "processX", 1)
self.monit._status_change_retry_count = 1 self.monit._status_change_retry_count = 1
mock_sleep = mock.patch("time.sleep") mock_sleep = mock.patch("time.sleep")

View file

@ -357,7 +357,7 @@ test_cases:
# ------------------------------------------------------------------ reload # ------------------------------------------------------------------ reload
- id: state_reloaded - id: state_reloaded
# reload exits before any presence/status checks; no version check either # reload exits before any presence/status checks; version check happens in __init__
input: input:
name: processX name: processX
state: reloaded state: reloaded
@ -366,6 +366,7 @@ test_cases:
state: reloaded state: reloaded
mocks: mocks:
run_command: run_command:
- *version_526
- command: [/testbin/monit, reload] - command: [/testbin/monit, reload]
environ: {} environ: {}
rc: 0 rc: 0
@ -396,7 +397,7 @@ test_cases:
# ------------------------------------------------------------------ failure cases # ------------------------------------------------------------------ failure cases
- id: state_reloaded_fail - id: state_reloaded_fail
# reload returns rc=1 → fail_json("monit reload failed") # reload returns rc=1 → fail_json("monit reload failed"); version check happens in __init__
input: input:
name: processX name: processX
state: reloaded state: reloaded
@ -404,6 +405,7 @@ test_cases:
failed: true failed: true
mocks: mocks:
run_command: run_command:
- *version_526
- command: [/testbin/monit, reload] - command: [/testbin/monit, reload]
environ: {} environ: {}
rc: 1 rc: 1