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 deployment role fails as it is not able to resolve the
server name, since the inventory name does not match the actual
hostname.

By retrieving the 'ansible_host' from 'hostvars' a user is allowed to
change the actual hostname as a varible, being able to use the inventory
as a template.
  • Loading branch information
rjeffman committed Feb 7, 2024
1 parent 249eab6 commit e2a8ce0
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 e2a8ce0

Please sign in to comment.