Jinja2中访问Ansible清单datacenter全局列表变量并正确迭代主机IP
问题根因
遍历datacenter字典时默认返回字典键(字符串类型的active/passive),直接对字符串遍历会拆分出单个字符,且原有逻辑未关联对应分组的hosts字段获取IP。
修正后的Jinja2模板
{% for group_name in datacenter %} # Listing {{ group_name }} hosts {% for host_ip in vars[group_name].hosts.values() %} HOST {{ host_ip }} {% endfor %} {% endfor %}
逻辑说明
- 外层循环取到的
group_name是datacenter下的子分组名称 - 通过
vars[group_name]获取对应分组的所有变量,再取hosts字段的所有值,即可得到该分组下所有主机的IP地址
内容的提问来源于stack exchange,提问作者OSB
相关产品推荐
相关产品推荐

