私は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