カンマ区切りリストに在庫アイテムを追加するには?

カンマ区切りリストに在庫アイテムを追加するには?

私はansbile invを持っています

# cat inv
[all]
vm1
vm2

Jinjaテンプレートを使用してカンマ区切りリストに抽出したいと思います。

だからjinjaテンプレートを追加しました。

# cat comb_list.j2

{{ groups['all'] | map('extract', hostvars, ['item']) | join(',') }}"

しかし、エントリがホスト変数ではないようで、エラーが発生します。

最終ファイルが次のようになりたい

# cat comb_list
vm1,vm2

答え1

金型

shell> cat comb_list.j2
{{ groups.all|join(',') }}

そしてスクリプト

shell> cat playbook.yml
- hosts: all
  gather_facts: false
  tasks:
    - template:
        src: comb_list.j2
        dest: comb_list
      delegate_to: localhost
      run_once: true

与えられた

shell> ansible-playbook -i inv playbook.yml
...

shell> cat comb_list
vm1,vm2

関連情報