New preserve_node parameter to skip unreferenced node removal

This commit is contained in:
Matt Hite 2016-04-10 23:00:30 -07:00 committed by Matt Clay
parent bcfab26d78
commit d2d4001dc5

View file

@ -142,8 +142,13 @@ options:
- Pool member ratio weight. Valid values range from 1 through 100. New pool members -- unless overriden with this value -- default to 1. - Pool member ratio weight. Valid values range from 1 through 100. New pool members -- unless overriden with this value -- default to 1.
required: false required: false
default: null default: null
choices: [] preserve_node:
aliases: [] description:
- When state is absent and the pool member is no longer referenced in other pools, the default behavior removes the unused node object. Setting this to 'yes' disables this behavior.
required: false
default: 'no'
choices: ['yes', 'no']
version_added: 2.1
''' '''
EXAMPLES = ''' EXAMPLES = '''
@ -347,7 +352,8 @@ def main():
connection_limit = dict(type='int'), connection_limit = dict(type='int'),
description = dict(type='str'), description = dict(type='str'),
rate_limit = dict(type='int'), rate_limit = dict(type='int'),
ratio = dict(type='int') ratio = dict(type='int'),
preserve_node = dict(type='bool', default=False)
) )
) )
@ -367,6 +373,7 @@ def main():
host = module.params['host'] host = module.params['host']
address = fq_name(partition, host) address = fq_name(partition, host)
port = module.params['port'] port = module.params['port']
preserve_node = module.params['preserve_node']
# sanity check user supplied values # sanity check user supplied values
@ -387,6 +394,9 @@ def main():
if member_exists(api, pool, address, port): if member_exists(api, pool, address, port):
if not module.check_mode: if not module.check_mode:
remove_pool_member(api, pool, address, port) remove_pool_member(api, pool, address, port)
if preserve_node:
result = {'changed': True}
else:
deleted = delete_node_address(api, address) deleted = delete_node_address(api, address)
result = {'changed': True, 'deleted': deleted} result = {'changed': True, 'deleted': deleted}
else: else: