Ansible получение публикации c ip хоста из файла инвентаризации - PullRequest
1 голос
/ 07 апреля 2020

Я хотел бы получить publi c ip хоста, определенного в файле инвентаризации

[test-sites:children]
test-site-1

[test-site-1]
test-site-1-2 ipv4=192.168.0.1 ipv6=....

Как мне получить ipv4 и ipv6 адрес "test-site-1-2", определенный в файл инвентаря? Я проверил этот ответ, но он дает все адреса (publi c & private). Меня интересуют только ips, определенные в файле инвентаря.

1 Ответ

1 голос
/ 07 апреля 2020
[test-site-1]
test-site-1-2 ipv4=192.168.0.1 ipv6=....

Q: "Как я могу получить адреса ipv4 и ipv6" test-site-1-2 ", определенные в файле инвентаризации?"

A: Если playbook работает на «test-site-1-2», просто обратитесь к переменным напрямую. Например,

- hosts: test-site-1-2
  tasks:
    - debug:
        var: ipv4
    - debug:
        var: ipv6

Если эти переменные нужны другим хостам, необходима ссылка на "hostvars". Например

- hosts: test-site-1
  tasks:
    - debug:
        var: hostvars['test-site-1-2'].ipv4
    - debug:
        var: hostvars['test-site-1-2'].ipv6

См. Основа c Инвентарь .

...