2016-05-26 6 views
0

テスト用のVM(純粋なDebianを使用)をグループ化してテストします。これらのVMはすぐに破棄されるので、オーブンホスト名を伝える必要がある間にDNSに名前を追加する必要はありません。有能:「ホスト」ファイルに追加するすべてのホストを一覧表示

An hostsファイルのホストIPに基づいて、これらのVMにファイル/etc/hostsを作成する方法はありますか。

私はその

192.168.0.5 myhostname=host01.local 
192.168.0.6 myhostname=host02.local 

のようにホスト名を設定することができますので、私は何とかそのような/etc/hostsを形成することができると思う:

{{ ip }} {{ myhostname }} 

それをアーカイブすることができます。 group['all']を反復処理してlineinfileを使用して/etc/hostsに行を追加することはできますが、今まで私にとってはうまくいきません。

答えて

0

あなたはhostsファイルのパス名を取得するためにinventory_file変数を使用することができます。また

利用でき、inventory_dirはAnsibleの在庫ホストファイルを保持するディレクトリのパス名ですが、inventory_fileは、パス名とファイル名を指していますAnabilitiesのインベントリホストファイルに転送します。

Reference

次のようなもので、その変数を読むことができます:

tasks: 
    - local_action: shell cat {{ inventory_file }} 
    register: result 

としてはhereをお勧めします。 local actionsの詳細はこちら。

次に、jinja filtersloopsを使用して変数を使用できます。

関連する問題