[PR #10743/469e557b backport][stable-11] monit: handle arbitrary error status (#10760)

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



---------


(cherry picked from commit 469e557b95)

Co-authored-by: Simon Kelly <skelly@dimagi.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
patchback[bot] 2025-08-28 22:17:56 +02:00 committed by GitHub
commit dda872c3e6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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()