1 つのグループでのみ実行されるプレイブックから、インベントリ ファイル内のすべてのホストの IP のリストを取得しようとしています。
次のインベントリ ファイルがあるとします。
[dbservers]
db1.example.com
db2.example.com
[webservers]
www1.example.com
www2.example.com
そしてプレイブック:
---
- hosts: dbservers
roles:
- dosomething
そして何かをする役割:
- name: print all host ips
template: src=hosts.j2 dest=/tmp/hosts.txt
そして、hosts.j2 テンプレート:
{% for host in hostvars %}
{{ hostvars[host].ansible_eth0.ipv4.address }}
{% endfor %}
問題:
これを実行すると、すべての ip ではなく、dbserver ip のみがリストされます
質問:
この Playbook 内からインベントリ全体にアクセスするにはどうすればよいですか? プレイブックでホストをすべてに変更すると機能しますが、dosomething プレイブックもすべてのホストで実行されます。これは私が望んでいるものではありません。dbservers のリストのみが必要です。