134

ロール内の現在のホストの IP アドレスを取得するにはどうすればよいですか?

ホストがメンバーであるグループのリストとホストのホスト名を取得できることは知っていますが、IP アドレスを取得するための解決策が見つかりません。

を使用してホスト名を取得し、を使用{{inventory_hostname}}してグループを取得できます{{group_names}}

{{ hostvars[{{ inventory_hostname }}]['ansible_ssh_host'] }} 私は次のようなことを試しましたip="{{ hostvars.{{ inventory_hostname }}.ansible_ssh_host }}"

4

10 に答える 10

86

hostvars、dict ansible_default_ipv4、およびキーからIPアドレスを取得できますaddress

hostvars[inventory_hostname]['ansible_default_ipv4']['address']

それぞれIPv6アドレス

hostvars[inventory_hostname]['ansible_default_ipv6']['address']

プレイブックの例:

---
- hosts: localhost
  tasks:
    - debug: var=hostvars[inventory_hostname]['ansible_default_ipv4']['address']
    - debug: var=hostvars[inventory_hostname]['ansible_default_ipv6']['address']
于 2016-10-02T17:48:10.177 に答える