Пример, как получить IP адрес другого хоста с "hosts" файла, выполняя задачу на другом хосте.
- server1 — на нем будет выполнятся наш Playbook
- server2 — его IP адрес нам нужен в Playbook'е
hosts:
[default] server1 ansible_host=192.168.1.101 server2 ansible_host=192.168.1.102
Для того, чтобы получить IP адрес, мы будем использовать "hostvars", где укажем имя нужного нам сервера, в нашем случае это "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 }}"
Результат:
ok: [server1] => { "msg": "Server2 IP address is 192.168.1.102" }