
Пример, как получить 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"
}