現在のケースは次のとおりです。 私は一連のサーバーをプロビジョニングし、これらのサーバーにアプリケーションをインストールするプレイブックを持っています。 これらのアプリのうちの1つに、既に使いたい自分の無意味なプレイブックがあります。今度は私の問題はhosts: [prod]
に限られており、上位レベルのプレイブックにあるホストグループが異なるため、このプレイブックから問題が発生します。現在のホストグループを、プレイブックの別のものとして識別させることができますか?
私はただadd_host
を使用して、必要なホストをprod
グループに追加することができますが、それは私が気に入らない解決策です。
私の質問です:現在のホストをincludeステートメントの新しいホストグループに追加する方法はありますか? 何かのようなもの- include: foo.yml prod={{ ansible_host_group }}
または、何らかの形でプレイブックのタスクのみを含めることはできますか?
プレイブックにはそれぞれ異なるホストを持つ複数のプレイが含まれている可能性があるため、プレースブックを含めながら 'hosts'属性を上書きする方法はありません。 'ansible_host_group'がここで定義されていないだけなので、あなたの例はうまくいかないでしょう - プレイブック(ホストはまだ定義されていません)かタスク(ホストはすでに固定されています)を含めることができます。あなたの実際のグループ名を含むインベントリの '[prod:children]'エントリを使うか、foo.ymlプレイブックを入れる前に 'group_by:key = prod'タスクをホストのために呼び出すことを考えてください。 –