Commit d25f1dc2 by Brian Brazil

Use empty string rather than None to avoid TypeError

Improve error messages.
parent 8ec40066
......@@ -67,7 +67,7 @@ def main():
module.exit_json(changed=True, name=name, state=state)
def status():
"""Return the status of the process in monit, or None if not present."""
"""Return the status of the process in monit, or the empty string if not present."""
rc, out, err = module.run_command('%s summary' % MONIT, check_rc=True)
for line in out.split('\n'):
# Sample output lines:
......@@ -77,14 +77,14 @@ def main():
if len(parts) > 2 and parts[0] == 'process' and parts[1] == "'%s'" % name:
return ' '.join(parts[2:])
else:
return None
return ''
def run_command(command):
"""Runs a monit command, and returns the new status."""
module.run_command('%s %s %s' % (MONIT, command, name), check_rc=True)
return status()
present = status() is not None
present = status() != ''
if not present and not state == 'present':
module.fail_json(msg='%s process not presently configured with monit' % name, name=name, state=state)
......@@ -94,8 +94,8 @@ def main():
if module.check_mode:
module.exit_json(changed=True)
status = run_command('reload')
if status is None:
module.fail_json(msg=status, name=name, state=state)
if status == '':
module.fail_json(msg='%s process not configured with monit' % name, name=name, state=state)
else:
module.exit_json(changed=True, name=name, state=state)
module.exit_json(changed=False, name=name, state=state)
......@@ -111,7 +111,7 @@ def main():
status = run_command('stop')
if status in ['not monitored'] or 'stop pending' in status:
module.exit_json(changed=True, name=name, state=state)
module.fail_json(msg=status)
module.fail_json(msg='%s process not stopped' % name, status=status)
if running and state == 'unmonitored':
if module.check_mode:
......@@ -119,7 +119,7 @@ def main():
status = run_command('unmonitor')
if status in ['not monitored']:
module.exit_json(changed=True, name=name, state=state)
module.fail_json(msg=status)
module.fail_json(msg='%s process not unmonitored' % name, status=status)
elif state == 'restarted':
if module.check_mode:
......@@ -127,7 +127,7 @@ def main():
status = run_command('restart')
if status in ['initializing', 'running'] or 'restart pending' in status:
module.exit_json(changed=True, name=name, state=state)
module.fail_json(msg=status)
module.fail_json(msg='%s process not restarted' % name, status=status)
elif not running and state == 'started':
if module.check_mode:
......@@ -135,7 +135,7 @@ def main():
status = run_command('start')
if status in ['initializing', 'running'] or 'start pending' in status:
module.exit_json(changed=True, name=name, state=state)
module.fail_json(msg=status)
module.fail_json(msg='%s process not started' % name, status=status)
elif not running and state == 'monitored':
if module.check_mode:
......@@ -143,7 +143,7 @@ def main():
status = run_command('monitor')
if status() not in ['not monitored']:
module.exit_json(changed=True, name=name, state=state)
module.fail_json(msg=status)
module.fail_json(msg='%s process not monitored' % name, status=status)
module.exit_json(changed=False, name=name, state=state)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment