From 97be0612fb7be443eb373fa14ba5b95f9c71503f Mon Sep 17 00:00:00 2001 From: Thomas Woerner <twoerner@redhat.com> Date: Wed, 23 Aug 2017 20:38:51 +0200 Subject: [PATCH] library/ipaclient.py: servers needs to be a list More than one server could be specified --- library/ipaclient.py | 17 +++++++++-------- roles/ipaclient/defaults/main.yml | 2 +- roles/ipaclient/tasks/install.yml | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/library/ipaclient.py b/library/ipaclient.py index 0fdc4c45..46b33f43 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 b5ae99b7..fd1efca4 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 1695bea3..ef4e30cd 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) }}" -- GitLab