Я использую шаблон Jinja2 с Ansible для создания конфигурации HaProxy.
У меня есть некоторые проблемы, когда я хочу добавить несколько переменных в одном цикле.
var file:
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
К сожалению, я делаю что-то не так, и у меня нет серверов в первом блоке.