The current module supporting F5 BIGIP pool creation does not support a setup where the port number must be zero to signify the pool will listen on multiple ports. This change implements that functionality and fixes an illogical conditional.

This commit is contained in:
Jason Witkowski 2016-03-29 17:01:52 -04:00
parent 7ef09ac889
commit b7dad3494e

View file

@ -393,11 +393,11 @@ def main():
# sanity check user supplied values
if (host and not port) or (port and not host):
if (host and port is None) or (port is not None and not host):
module.fail_json(msg="both host and port must be supplied")
if 1 > port > 65535:
module.fail_json(msg="valid ports must be in range 1 - 65535")
if 0 > port or port > 65535:
module.fail_json(msg="valid ports must be in range 0 - 65535")
if monitors:
if len(monitors) == 1:
@ -508,6 +508,10 @@ def main():
if not module.check_mode:
add_pool_member(api, pool, address, port)
result = {'changed': True}
if (host and port == 0) and not member_exists(api, pool, address, port):
if not module.check_mode:
add_pool_member(api, pool, address, port)
result = {'changed': True}
except Exception, e:
module.fail_json(msg="received exception: %s" % e)