[英]Jinja2 with Ansible, multiple variables in loop
我正在使用Ansible的Jinja2模板来生成HaProxy配置。 我想在同一循环中添加多个变量时遇到一些问题。
var文件:
haproxy_url:
- site1
- site2
servers:
- 'server1 192.168.11.2'
- 'server2 192.168.11.3'
模板文件:
### Backends
{% for url in haproxy_url %}
backend {{ url }}
errorfile 503 /etc/haproxy/503.http
mode http
option http-keep-alive
cookie SRVNAME insert
option httpchk GET / HTTP/1.1\r\nHost:\ {{ url }}
{% endfor %}
http-check expect string Something
default-server inter 3s fall 3 rise 2
{% for server in servers %}
server {{ server }}:80 cookie SA check
{% endfor %}
现在的结果:
### Backends
backend site1
errorfile 503 /etc/haproxy/503.http
mode http
option http-keep-alive
cookie SRVNAME insert
option httpchk GET / HTTP/1.1\r\nHost:\ something
backend site2
errorfile 503 /etc/haproxy/503.http
mode http
option http-keep-alive
cookie SRVNAME insert
option httpchk GET / HTTP/1.1\r\nHost:\ something
server server1 192.168.11.2:80 cookie SA check
server server2 192.168.11.3:80 cookie SA check
不幸的是,我做错了什么,但我没有在第一块中的服务器。
那个部分
{% for server in servers %}
server {{ server }}:80 cookie SA check
{% endfor %}
必须包含在里面
{% for url in haproxy_url %}
...
{% endfor %}
要正常工作,请将第一个{% endfor %}
移到底部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.