An example of how to get the IP address of another host from the "hosts" file by performing a task on another host.
- server1 – our Playbook will be executed on it
- server2 – we need its IP address in the Playbook
hosts:
[default] server1 ansible_host=192.168.1.101 server2 ansible_host=192.168.1.102
In order to get the IP address, we will use "hostvars", where we indicate the name of the server we need, in our case it is "server2"
Playbook:
--- - name: example gather_facts: No hosts: server1 tasks: - name: get-ip-from-server2 debug: msg: "Server2 IP address is {{ hostvars[ 'server2' ].ansible_default_ipv4.address }}"
Output:
ok: [server1] => { "msg": "Server2 IP address is 192.168.1.102" }