diff --git a/library/ipaclient.py b/library/ipaclient.py index 0fdc4c4593a19097716903b28cbdc63a8117113c..46b33f4340b29a2dce59eda1cdf154705d503896 100644 --- a/library/ipaclient.py +++ b/library/ipaclient.py @@ -47,8 +47,8 @@ options: realm: description: The Kerberos realm of an existing IPA deployment. required: false - server: - description: The FQDN of the IPA server to connect to. + servers: + description: The FQDN of the IPA servers to connect to. required: false principal: description: The authorized kerberos principal used to join the IPA realm. @@ -115,7 +115,7 @@ EXAMPLES = ''' principal: admin password: MySecretPassword domain: ipa.domain.com - server: ipaserver.ipa.domain.com + servers: ipaserver.ipa.domain.com ntp: no kinit_attempts: 5 @@ -222,7 +222,7 @@ def ensure_ipa_client(module): domain = module.params.get('domain') realm = module.params.get('realm') - server = module.params.get('server') + servers = module.params.get('servers') principal = module.params.get('principal') password = module.params.get('password') keytab = module.params.get('keytab') @@ -267,9 +267,10 @@ def ensure_ipa_client(module): if realm: cmd.append("--realm") cmd.append(realm) - if server: - cmd.append("--server") - cmd.append(server) + if servers: + for server in servers: + cmd.append("--server") + cmd.append(server) if password: cmd.append("--password") cmd.append(password) @@ -314,7 +315,7 @@ def main(): state=dict(default='present', choices=['present', 'absent']), domain=dict(required=False), realm=dict(required=False), - server=dict(required=False), + servers=dict(required=False, type='list'), principal=dict(default='admin'), password=dict(required=False, no_log=True), keytab=dict(required=False, type='path'), diff --git a/roles/ipaclient/defaults/main.yml b/roles/ipaclient/defaults/main.yml index b5ae99b73aee5bc3e3ffefd6a8056ed9c6a0ae11..fd1efca476f5ded145ceb13c47fbad92a33f8025 100644 --- a/roles/ipaclient/defaults/main.yml +++ b/roles/ipaclient/defaults/main.yml @@ -3,7 +3,7 @@ ipaclient_domain: ipaclient_realm: -ipaclient_server: +ipaclient_servers: ipaclient_principal: ipaclient_password: diff --git a/roles/ipaclient/tasks/install.yml b/roles/ipaclient/tasks/install.yml index 1695bea39d6ea08f7b63eda721ceb75b567443d9..ef4e30cdcada03ad66a668719ad7e73410473f44 100644 --- a/roles/ipaclient/tasks/install.yml +++ b/roles/ipaclient/tasks/install.yml @@ -37,7 +37,7 @@ state: present domain: "{{ ipaclient_domain | default(omit) }}" realm: "{{ ipaclient_realm | default(omit) }}" - server: "{{ ipaclient_server | default(omit) }}" + servers: "{{ groups.ipaservers | default(omit) }}" principal: "{{ ipaclient_principal | default(omit) }}" password: "{{ ipaclient_password | default(omit) }}" keytab: "{{ ipaclient_keytab | default(omit) }}"