2017-01-31 3 views
3

指定したグループ内のすべてのホストのIPアドレスをコンマ区切りの文字列として設定する必要があるいくつかの役割を構築します。Jinja2フィルタを使ってグループ内のホストのIPアドレスリストを取得する

これと同じように作る(マップ、マッチ、選択、などの参加など)フィルタのJinja2の組み合わせがあります:

{% set comma = joiner(",") %} 
{% for hostname in groups['mongodb'] %} 
{{ comma() }}{{ hostvars[hostname].ansible_default_ipv4.address }} 
{%- endfor %} 

答えて

6

documentationのほぼ正確な答えはあり...

わずかな変更、ここに行く:

- debug: 
    msg: "{{ groups['mongodb'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | join(',') }}" 
関連する問題