mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add reselect_tries option to big_pool module (#2156)
This commit is contained in:
parent
ea6a2bfd95
commit
d3fb59e187
1 changed files with 23 additions and 0 deletions
|
@ -133,6 +133,14 @@ options:
|
||||||
default: null
|
default: null
|
||||||
choices: []
|
choices: []
|
||||||
aliases: []
|
aliases: []
|
||||||
|
reselect_tries:
|
||||||
|
description:
|
||||||
|
- Sets the number of times the system tries to contact a pool member after a passive failure
|
||||||
|
version_added: "2.2"
|
||||||
|
required: False
|
||||||
|
default: null
|
||||||
|
choices: []
|
||||||
|
aliases: []
|
||||||
service_down_action:
|
service_down_action:
|
||||||
description:
|
description:
|
||||||
- Sets the action to take when node goes down in pool
|
- Sets the action to take when node goes down in pool
|
||||||
|
@ -284,6 +292,13 @@ def get_slow_ramp_time(api, pool):
|
||||||
def set_slow_ramp_time(api, pool, seconds):
|
def set_slow_ramp_time(api, pool, seconds):
|
||||||
api.LocalLB.Pool.set_slow_ramp_time(pool_names=[pool], values=[seconds])
|
api.LocalLB.Pool.set_slow_ramp_time(pool_names=[pool], values=[seconds])
|
||||||
|
|
||||||
|
def get_reselect_tries(api, pool):
|
||||||
|
result = api.LocalLB.Pool.get_reselect_tries(pool_names=[pool])[0]
|
||||||
|
return result
|
||||||
|
|
||||||
|
def set_reselect_tries(api, pool, tries):
|
||||||
|
api.LocalLB.Pool.set_reselect_tries(pool_names=[pool], values=[tries])
|
||||||
|
|
||||||
def get_action_on_service_down(api, pool):
|
def get_action_on_service_down(api, pool):
|
||||||
result = api.LocalLB.Pool.get_action_on_service_down(pool_names=[pool])[0]
|
result = api.LocalLB.Pool.get_action_on_service_down(pool_names=[pool])[0]
|
||||||
result = result.split("SERVICE_DOWN_ACTION_")[-1].lower()
|
result = result.split("SERVICE_DOWN_ACTION_")[-1].lower()
|
||||||
|
@ -356,6 +371,7 @@ def main():
|
||||||
quorum = dict(type='int'),
|
quorum = dict(type='int'),
|
||||||
monitors = dict(type='list'),
|
monitors = dict(type='list'),
|
||||||
slow_ramp_time = dict(type='int'),
|
slow_ramp_time = dict(type='int'),
|
||||||
|
reselect_tries = dict(type='int'),
|
||||||
service_down_action = dict(type='str', choices=service_down_choices),
|
service_down_action = dict(type='str', choices=service_down_choices),
|
||||||
host = dict(type='str', aliases=['address']),
|
host = dict(type='str', aliases=['address']),
|
||||||
port = dict(type='int')
|
port = dict(type='int')
|
||||||
|
@ -397,6 +413,7 @@ def main():
|
||||||
for monitor in module.params['monitors']:
|
for monitor in module.params['monitors']:
|
||||||
monitors.append(fq_name(partition, monitor))
|
monitors.append(fq_name(partition, monitor))
|
||||||
slow_ramp_time = module.params['slow_ramp_time']
|
slow_ramp_time = module.params['slow_ramp_time']
|
||||||
|
reselect_tries = module.params['reselect_tries']
|
||||||
service_down_action = module.params['service_down_action']
|
service_down_action = module.params['service_down_action']
|
||||||
if service_down_action:
|
if service_down_action:
|
||||||
service_down_action = service_down_action.lower()
|
service_down_action = service_down_action.lower()
|
||||||
|
@ -487,6 +504,8 @@ def main():
|
||||||
set_monitors(api, pool, monitor_type, quorum, monitors)
|
set_monitors(api, pool, monitor_type, quorum, monitors)
|
||||||
if slow_ramp_time:
|
if slow_ramp_time:
|
||||||
set_slow_ramp_time(api, pool, slow_ramp_time)
|
set_slow_ramp_time(api, pool, slow_ramp_time)
|
||||||
|
if reselect_tries:
|
||||||
|
set_reselect_tries(api, pool, reselect_tries)
|
||||||
if service_down_action:
|
if service_down_action:
|
||||||
set_action_on_service_down(api, pool, service_down_action)
|
set_action_on_service_down(api, pool, service_down_action)
|
||||||
if host and port:
|
if host and port:
|
||||||
|
@ -513,6 +532,10 @@ def main():
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
set_slow_ramp_time(api, pool, slow_ramp_time)
|
set_slow_ramp_time(api, pool, slow_ramp_time)
|
||||||
result = {'changed': True}
|
result = {'changed': True}
|
||||||
|
if reselect_tries and reselect_tries != get_reselect_tries(api, pool):
|
||||||
|
if not module.check_mode:
|
||||||
|
set_reselect_tries(api, pool, reselect_tries)
|
||||||
|
result = {'changed': True}
|
||||||
if service_down_action and service_down_action != get_action_on_service_down(api, pool):
|
if service_down_action and service_down_action != get_action_on_service_down(api, pool):
|
||||||
if not module.check_mode:
|
if not module.check_mode:
|
||||||
set_action_on_service_down(api, pool, service_down_action)
|
set_action_on_service_down(api, pool, service_down_action)
|
||||||
|
|
Loading…
Reference in a new issue