web-dev-qa-db-ja.com

グループの最初のホストでAnsibleプレイブックを実行するにはどうすればよいですか?

グループの最初のホストでのみプレイブックを実行するにはどうすればよいですか?

私はこのようなものを期待しています:

---
- name: playbook that only run on first Host in the group
  hosts: "{{ groups[group_name] | first }}"

  tasks:
   - debug:
       msg: "on {{ inventory_hostname }}"

しかし、これは機能せず、エラーが発生します。

「グループ」は未定義です

どうすれば機能させることができますか?

11
Jakim

以下を使用できます。

hosts: group_name[0]

インベントリホスト値(hostsディレクティブで指定)は、カスタムパーサーで処理されます。これは、通常のテンプレートエンジンのようにJinja2式を許可しません。

パターン についてお読みください。

15
techraf