diff --git a/module_utils/ansible_ipa_server.py b/module_utils/ansible_ipa_server.py index 8da79a1ccae2dcbe42c500607e4752ad47ee7f0f..0dafd7546b578789d48fe6db75f4f186e4ee9c7e 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 44c533baff46ceb28e455149a9f3b34176b3fe12..1e12aa858615240347e8bd04e8576f49ddc88013 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 d8e11398c767c7be505362545a201a5502d58002..c1ff47a5f6c549767faf507067a88272561ca708 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 987fc4168a679d73ff3fc6c561859d87841cac1f..0228920ab3390f89fb2724c183a62fee2efb00ee 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 3159127596392754c97e573897002ed9046ea6a5..e16f6fc81a6fd60b4f62bc15f3e59bc0e40b275a 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 cc0cf4c87f25639c2ea0836bda156795949b12a6..bcb9bc38ec6b2e1cce3a6647281230efbef9f47d 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')