Skip to content

Commit

Permalink
ipaclient: Use hostvars data instead of inventory group name
Browse files Browse the repository at this point in the history
When using 'ansible_host' to override the target node name in an Ansible
inventory, the ipaclient deployment role fails as it is not able to
either correctly resolve the server name, or fail to join the host to
the realm, since the inventory name may match the actual hostname.

By retrieving the 'ansible_host' from 'hostvars' a user is allowed to
change the actual hostname without affecting the Ansible node used. Such
a setup is useful if one have a template inventory, or to setup nodes
using containers.
  • Loading branch information
rjeffman committed Dec 2, 2024
1 parent 8fc2de1 commit 93b98f6
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions roles/ipaclient/tasks/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@

- name: Install - Set ipaclient_servers
ansible.builtin.set_fact:
ipaclient_servers: "{{ groups['ipaservers'] | list }}"
ipaclient_servers: "{{ groups['ipaservers'] | map('extract', hostvars) | map(attribute='ansible_host') }}"
when: groups.ipaservers is defined and ipaclient_servers is not defined

- name: Install - Set ipaclient_servers from cluster inventory
ansible.builtin.set_fact:
ipaclient_servers: "{{ groups['ipaserver'] | list }}"
ipaclient_servers: "{{ groups['ipaserver'] | map('extract', hostvars) | map(attribute='ansible_host') }}"
when: ipaclient_no_dns_lookup | bool and groups.ipaserver is defined and
ipaclient_servers is not defined

Expand Down

0 comments on commit 93b98f6

Please sign in to comment.