|
|
@ -27,21 +27,26 @@ def main():
|
|
|
|
|
|
|
|
|
|
|
|
module = AnsibleModule(
|
|
|
|
module = AnsibleModule(
|
|
|
|
argument_spec = dict(
|
|
|
|
argument_spec = dict(
|
|
|
|
name=dict(required=True),
|
|
|
|
host=dict(default='127.0.0.1'),
|
|
|
|
timeout=dict(default=300),
|
|
|
|
timeout=dict(default=300),
|
|
|
|
port=dict(default=22),
|
|
|
|
delay=dict(default=0),
|
|
|
|
state=dict(default='started', choices=['started', 'stopped', 'restarted']),
|
|
|
|
port=dict(required=True),
|
|
|
|
|
|
|
|
state=dict(default='started', choices=['started', 'stopped']),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
params = module.params
|
|
|
|
params = module.params
|
|
|
|
|
|
|
|
|
|
|
|
host = params['name']
|
|
|
|
host = params['host']
|
|
|
|
timeout = int(params['timeout'])
|
|
|
|
timeout = int(params['timeout'])
|
|
|
|
|
|
|
|
delay = int(params['delay'])
|
|
|
|
port = int(params['port'])
|
|
|
|
port = int(params['port'])
|
|
|
|
state = params['state']
|
|
|
|
state = params['state']
|
|
|
|
|
|
|
|
|
|
|
|
if state in [ 'stopped', 'restarted']:
|
|
|
|
if delay:
|
|
|
|
|
|
|
|
time.sleep(delay)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if state is 'stopped':
|
|
|
|
### first wait for the host to go down
|
|
|
|
### first wait for the host to go down
|
|
|
|
end = datetime.datetime.now() + datetime.timedelta(seconds=timeout)
|
|
|
|
end = datetime.datetime.now() + datetime.timedelta(seconds=timeout)
|
|
|
|
|
|
|
|
|
|
|
@ -57,7 +62,7 @@ def main():
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
module.fail_json(msg="Timeout when waiting for %s to stop."%(host))
|
|
|
|
module.fail_json(msg="Timeout when waiting for %s to stop."%(host))
|
|
|
|
|
|
|
|
|
|
|
|
if state in [ 'started', 'restarted' ]:
|
|
|
|
if state is 'started':
|
|
|
|
### wait for the host to come up
|
|
|
|
### wait for the host to come up
|
|
|
|
end = datetime.datetime.now() + datetime.timedelta(seconds=timeout)
|
|
|
|
end = datetime.datetime.now() + datetime.timedelta(seconds=timeout)
|
|
|
|
|
|
|
|
|
|
|
|