🖥
Ansible のインベントリで 別ポート・同一ホストを複数指定しても一回しか処理が走らない
「環境側でうまくやって別々のホスト名を付けてくれ」ということらしい
This is expected behavior, you must specify a different hostname for each host in inventory. Instead of doing it this way, you should give each VM a different name in your host inventory and use the ansible_ssh_host=127.0.0.1
Cannot specify two different ports to the same host in inventory · Issue #8306 · ansible/ansible
インベントリファイルの例
「同じホストでポート違う」グループを複数作る。
this_inventory_file.txt
[group1]
localhost
[group1:vars]
ansible_port=2221
[group2]
localhost
[group2:vars]
ansible_port=2222
動作例
全ホストを一覧しようとしても、localhost1個しか出てこない。
$ ansible -i this_inventory_file.txt all --list-hosts
hosts (1):
localhost
https://github.com/ansible/ansible/issues/8306
実際にモジュールを走らせても、片方にしか処理が走らないようだった。
$ ansible -i this_inventory_file.txt all -m 'raw' -a 'echo ok'
localhost | SUCCESS | rc=0 >>
ok
対応
~/.ssh/config
でホスト名をつけてやるなりして名前解決する。
Docker で localhost に立てた ssh サーバーにホスト名を付けてアクセスする - Qiita
Gist
環境
- ansible 2.6.1
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-07-16
Discussion