ローカルタスクでAnsibleインベントリを再利用する方法は?

ローカルタスクでAnsibleインベントリを再利用する方法は?

構成管理と集中管理にAnsibleを活用しようとしています。

私が興味を持っているすべてのマシンは、実際にAnsibleを実行するホストのコンテナです。

私は現在、さまざまなホストをグループ化し、各グループとホストで特定のホスト変数を使用できるようにする動的インベントリスクリプトを作成しています。

インベントリ情報を使用してローカルタスクを実行するには?

例:foo動的マニフェストがIPアドレス、cgroup制限などの特定の項目を定義するコンテナがあります。ゲストコンテナがホストからコンテナ設定を作成するために(通常のJinja2テンプレートを使用する)開始する前に、この情報をどのように再利用できますか?

ベストアンサー1

私が正しく理解したら、通常のホスト用に定義されたいくつかのansible変数にアクセスする必要があります。hostvarsホスト名を主キーとして使用して、辞書を介してすべてのホスト変数にアクセスできます。たとえば、次のようになります。

{{ hostvars['foo']['ipv4']['address'] }}

クレジットは次に転送されます。

おすすめ記事