monit: handle arbitrary error status (#10743)

* handle arbitrary error status

* add changelog fragment

* mock module in test

* Update changelogs/fragments/10743-monit-handle-unknown-status.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

---------

Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
Simon Kelly
2025-08-28 22:09:25 +02:00
committed by GitHub
parent b1c75339c0
commit 469e557b95
3 changed files with 10 additions and 2 deletions

View File

@@ -174,7 +174,11 @@ class Monit(object):
status_val = status_val.split(' | ')[0]
if ' - ' not in status_val:
status_val = status_val.replace(' ', '_')
return getattr(Status, status_val)
try:
return getattr(Status, status_val)
except AttributeError:
self.module.warn("Unknown monit status '%s', treating as execution failed" % status_val)
return Status.EXECUTION_FAILED
else:
status_val, substatus = status_val.split(' - ')
action, state = substatus.split()