Azure クラウド リソースを作成するためのロールを含む Ansible プレイブックがあります。グループ変数は、これらのリソースを作成するためのパラメーターを設定するために使用されます。インベントリ ファイルには複数のグループが含まれており、それらのグループは子孫ノードとして再生されます。
問題は、クラウド アクションを実行するためのターゲットが localhost であるため、すべてのグループ変数が一度に取得されることです。在庫は次のとおりです。
[cloud:children]
cloud_instance_a
cloud_instance_b
[cloud_instance_a:children]
azure_infrastructure
[cloud_instance_b:children]
azure_infrastructure
[azure_infrastructure]
127.0.0.1 ansible_connection=local ansible_python_interpreter=python
プレイブックには、実行される実際のロールを参照する azure_infrastructure プレイが含まれています。
このロールは localhost に対して 2 回実行されますが、そのたびに cloud_instance_a と cloud_instance_b の両方のグループ変数が読み込まれます。2 回実行したいのですが、最初に cloud_instance_a 変数がロードされ、2 回目に cloud_instance_b 変数がロードされます。
とにかくこれを行うことはありますか?本質的に、私は、これらが異なるターゲットであると思わせる localhost の疑似ホストを探しています。これを回避できる唯一の方法は、2 つの異なるインベントリを作成することです。