monitoring/nagios: Allow comment to be specified

The default remains 'Scheduling downtime' but can be overridden.
This commit is contained in:
Todd Zullinger 2015-03-18 15:07:56 -04:00
parent 696bc60caa
commit aef5792772

View file

@ -51,6 +51,11 @@ options:
Only usable with the C(downtime) action. Only usable with the C(downtime) action.
required: false required: false
default: Ansible default: Ansible
comment:
description:
- Comment for C(downtime) action.
required: false
default: Scheduling downtime
minutes: minutes:
description: description:
- Minutes to schedule downtime for. - Minutes to schedule downtime for.
@ -84,6 +89,10 @@ EXAMPLES = '''
# schedule an hour of HOST downtime # schedule an hour of HOST downtime
- nagios: action=downtime minutes=60 service=host host={{ inventory_hostname }} - nagios: action=downtime minutes=60 service=host host={{ inventory_hostname }}
# schedule an hour of HOST downtime, with a comment describing the reason
- nagios: action=downtime minutes=60 service=host host={{ inventory_hostname }}
comment='This host needs disciplined'
# schedule downtime for ALL services on HOST # schedule downtime for ALL services on HOST
- nagios: action=downtime minutes=45 service=all host={{ inventory_hostname }} - nagios: action=downtime minutes=45 service=all host={{ inventory_hostname }}
@ -175,6 +184,7 @@ def main():
argument_spec=dict( argument_spec=dict(
action=dict(required=True, default=None, choices=ACTION_CHOICES), action=dict(required=True, default=None, choices=ACTION_CHOICES),
author=dict(default='Ansible'), author=dict(default='Ansible'),
comment=dict(default='Scheduling downtime'),
host=dict(required=False, default=None), host=dict(required=False, default=None),
minutes=dict(default=30), minutes=dict(default=30),
cmdfile=dict(default=which_cmdfile()), cmdfile=dict(default=which_cmdfile()),
@ -258,6 +268,7 @@ class Nagios(object):
self.module = module self.module = module
self.action = kwargs['action'] self.action = kwargs['action']
self.author = kwargs['author'] self.author = kwargs['author']
self.comment = kwargs['comment']
self.host = kwargs['host'] self.host = kwargs['host']
self.minutes = int(kwargs['minutes']) self.minutes = int(kwargs['minutes'])
self.cmdfile = kwargs['cmdfile'] self.cmdfile = kwargs['cmdfile']
@ -293,7 +304,7 @@ class Nagios(object):
cmdfile=self.cmdfile) cmdfile=self.cmdfile)
def _fmt_dt_str(self, cmd, host, duration, author=None, def _fmt_dt_str(self, cmd, host, duration, author=None,
comment="Scheduling downtime", start=None, comment=None, start=None,
svc=None, fixed=1, trigger=0): svc=None, fixed=1, trigger=0):
""" """
Format an external-command downtime string. Format an external-command downtime string.
@ -326,6 +337,9 @@ class Nagios(object):
if not author: if not author:
author = self.author author = self.author
if not comment:
comment = self.comment
if svc is not None: if svc is not None:
dt_args = [svc, str(start), str(end), str(fixed), str(trigger), dt_args = [svc, str(start), str(end), str(fixed), str(trigger),
str(duration_s), author, comment] str(duration_s), author, comment]