ec2.py
インベントリスクリプトを使用して、EC2インスタンスに対してクエリを実行します。次の警告サインが表示され続けます。問題の原因を修正してそれらを抑制するにはどうすればよいですか?
[WARNING]: Found both group and Host with same name: nex-1.XYZ.net
[WARNING]: Found both group and Host with same name: admin-1.XYZ.net
[WARNING]: Found both group and Host with same name: jenkinsmaster-1.XYZ.net
ホストおよびグループと同じ名前の再利用を見つけるのは簡単です。
[webserver]
webserver
ただし、グループ定義に:children
を追加するのを忘れただけの場合があるため、トリッキーになる場合があります。
この定義により警告が発生します。
[webservers] # <-- 'webservers' is a group
web1
web2
[agent_x]
webservers # <-- 'webservers' is a Host
これはしませんが:
[webservers] # <-- 'webservers' is a group
web1
web2
[agent_x:children]
webservers # <-- 'webservers' is a group
Ansible 2.4ドキュメントからの引用 https://github.com/ansible/ansible/blob/stable-2.4/docs/docsite/rst/intro_inventory.rst#groups-of-groups-and-group-variables =
INIの:childrenサフィックスまたはYAMLのchildren:エントリを使用して、グループのグループを作成することも可能です。
つまり、グループがhosts
またはgroups
をリストするかどうかを明示する必要があります。
これは、おそらく同じ名前がインベントリに含まれているために発生します。たとえば、次のようなインベントリがあります。
[webserver]
webserver
webserver1
Webserverと呼ばれる1つのホストがあり、同じ名前がグループに含まれています。webserverをグループ化するために何かしたい場合は問題になると思いませんか?
Ec2.pyのようなDynamic Inventoryを使用しているときにこの問題が発生した場合は、おそらく名前がAWS環境に複製されているため、これを変更することをお勧めします。