2016-12-13 7 views
0

同じサブネット上のすべてのホストで、不可能なプレイブックを実行する必要があります。不可能:動的インベントリを使用してサブネットからホスト名を取得する

しかし、ホストネームは常に変化しているので、サブネットは変わりません。

動的インベントリを使用して特定のサブネット上のすべてのホストを見つける方法はありますか?

ありがとうございます!

+0

はい可能です。あなたのホスティングにはどんなプラットフォームを使用していますか?例えばAWS、バージュ等 –

+0

私はバゲントを使用しています –

答えて

2

を見てください。それは既にAnsibleに適した動的な在庫を生成します。

ベイグラント上のドキュメントはAnsibleのため、このページが含まれています

ベイグラントは、それが管理する仮想マシンのすべてを網羅するインベントリファイルを生成し、マシンのプロビジョニングのためにそれを使用します。

...

生成されたインベントリファイルは、在庫が動作するように指定する-iオプションでAnsibleを使用して.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory

に、ローカルベイグラント環境の一部として保存されます。ホストを一覧表示することでテストできます。

ansible -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory --list-hosts 
+0

ありがとうございます。これはまさに私が必要なものです! –

1

自明な解は、よりエレガントな解決策については

nmap -n -sn 172.17.0.0/24 -oG - | awk '/Up$/{print $2}' > myInventory && ansible -i myInventory all -m ping 

可能性はベイグラントのドキュメントによるとDynamic InventoryDeveloping Dynamic Inventory Sources

+0

ありがとうございます。私はこれを使ってVagrantで正しいマシンが選択されているかどうかをチェックするためのインベントリファイルを作成しました。 –

関連する問題