🖥

Ansible のインベントリで 別ポート・同一ホストを複数指定しても一回しか処理が走らない

2023/08/26に公開

「環境側でうまくやって別々のホスト名を付けてくれ」ということらしい

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オープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2018-07-16

Discussion