From e215b67dbcb43d6313e9f35cf2c1ea6b47e13470 Mon Sep 17 00:00:00 2001 From: Thomas Woerner <twoerner@redhat.com> Date: Fri, 8 Dec 2017 13:36:26 +0100 Subject: [PATCH] module_utils/ansible_ipa_server.py: New function ansible_module_get_parsed_ip_addresses This methods creates a list of ipautil.CheckedIPAddress from the provided ip string list. --- module_utils/ansible_ipa_server.py | 11 +++++++++++ roles/ipaserver/library/ipaserver_prepare.py | 3 ++- roles/ipaserver/library/ipaserver_setup_ca.py | 3 ++- roles/ipaserver/library/ipaserver_setup_http.py | 3 ++- roles/ipaserver/library/ipaserver_setup_krb.py | 3 ++- roles/ipaserver/library/ipaserver_test.py | 3 ++- 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/module_utils/ansible_ipa_server.py b/module_utils/ansible_ipa_server.py index 8da79a1c..0dafd754 100644 --- a/module_utils/ansible_ipa_server.py +++ b/module_utils/ansible_ipa_server.py @@ -217,3 +217,14 @@ def ds_init_info(ansible_log, fstore, domainlevel, dirsrv_config_file, setup_pkinit=not no_pkinit) return ds + +def ansible_module_get_parsed_ip_addresses(ansible_module, + param='ip_addresses'): + ip_addrs = [ ] + for ip in ansible_module.params.get(param): + try: + ip_parsed = ipautil.CheckedIPAddress(ip) + except Exception as e: + ansible_module.fail_json(msg="Invalid IP Address %s: %s" % (ip, e)) + ip_addrs.append(ip_parsed) + return ip_addrs diff --git a/roles/ipaserver/library/ipaserver_prepare.py b/roles/ipaserver/library/ipaserver_prepare.py index 44c533ba..1e12aa85 100644 --- a/roles/ipaserver/library/ipaserver_prepare.py +++ b/roles/ipaserver/library/ipaserver_prepare.py @@ -129,7 +129,8 @@ def main(): options.dm_password = ansible_module.params.get('dm_password') options.admin_password = ansible_module.params.get('password') - options.ip_addresses = ansible_module.params.get('ip_addresses') + options.ip_addresses = ansible_module_get_parsed_ip_addresses( + ansible_module) options.domain_name = ansible_module.params.get('domain') options.realm_name = ansible_module.params.get('realm') options.host_name = ansible_module.params.get('hostname') diff --git a/roles/ipaserver/library/ipaserver_setup_ca.py b/roles/ipaserver/library/ipaserver_setup_ca.py index d8e11398..c1ff47a5 100644 --- a/roles/ipaserver/library/ipaserver_setup_ca.py +++ b/roles/ipaserver/library/ipaserver_setup_ca.py @@ -130,7 +130,8 @@ def main(): options.dm_password = ansible_module.params.get('dm_password') options.admin_password = ansible_module.params.get('password') options.master_password = ansible_module.params.get('master_password') - options.ip_addresses = ansible_module.params.get('ip_addresses') + options.ip_addresses = ansible_module_get_parsed_ip_addresses( + ansible_module) options.domain_name = ansible_module.params.get('domain') options.realm_name = ansible_module.params.get('realm') options.host_name = ansible_module.params.get('hostname') diff --git a/roles/ipaserver/library/ipaserver_setup_http.py b/roles/ipaserver/library/ipaserver_setup_http.py index 987fc416..0228920a 100644 --- a/roles/ipaserver/library/ipaserver_setup_http.py +++ b/roles/ipaserver/library/ipaserver_setup_http.py @@ -107,7 +107,8 @@ def main(): options.realm_name = ansible_module.params.get('realm') options.host_name = ansible_module.params.get('hostname') - options.ip_addresses = ansible_module.params.get('ip_addresses') + options.ip_addresses = ansible_module_get_parsed_ip_addresses( + ansible_module) options.reverse_zones = ansible_module.params.get('reverse_zones') options.http_cert_files = ansible_module.params.get('http_cert_files') diff --git a/roles/ipaserver/library/ipaserver_setup_krb.py b/roles/ipaserver/library/ipaserver_setup_krb.py index 31591275..e16f6fc8 100644 --- a/roles/ipaserver/library/ipaserver_setup_krb.py +++ b/roles/ipaserver/library/ipaserver_setup_krb.py @@ -98,7 +98,8 @@ def main(): options.realm_name = ansible_module.params.get('realm') options.host_name = ansible_module.params.get('hostname') - options.ip_addresses = ansible_module.params.get('ip_addresses') + options.ip_addresses = ansible_module_get_parsed_ip_addresses( + ansible_module) options.reverse_zones = ansible_module.params.get('reverse_zones') options.setup_adtrust = ansible_module.params.get('setup_adtrust') diff --git a/roles/ipaserver/library/ipaserver_test.py b/roles/ipaserver/library/ipaserver_test.py index cc0cf4c8..bcb9bc38 100644 --- a/roles/ipaserver/library/ipaserver_test.py +++ b/roles/ipaserver/library/ipaserver_test.py @@ -132,7 +132,8 @@ def main(): options.dm_password = ansible_module.params.get('dm_password') options.admin_password = ansible_module.params.get('password') options.master_password = ansible_module.params.get('master_password') - options.ip_addresses = ansible_module.params.get('ip_addresses') + options.ip_addresses = ansible_module_get_parsed_ip_addresses( + ansible_module) options.domain_name = ansible_module.params.get('domain') options.realm_name = ansible_module.params.get('realm') options.host_name = ansible_module.params.get('hostname') -- GitLab