обратитесь к переменной в файле хоста из jinja2 - PullRequest
0 голосов
/ 30 мая 2018

Я использую шаблон jinja2 для конфигурации haproxy, и у меня есть переменная, объявленная в файле инвентаря.как мне ссылаться на эту переменную в шаблоне.У меня есть скрипт ниже, но он не работает.

Мой инвентарь: -

[as]
10.0.0.1 asRole=batch
10.0.0.2 asRole=batch
10.0.0.3 asRole=transaction
10.0.0.4 asRole=transaction

[hap]
10.0.0.6 

[hap] - это ip для haproxy, и моя задача - настроить конфигурацию haproxy на узле [hap] на основе узла [as].

Мой темплинт Jinja2: -

{% for host in groups['as'] %}                                                 
 {% if "transaction" in "{{ asRole }} %}                                
  server {{ hostvars[host]['inventory_hostname'] }} {{ host }}:{{ httpd_port }}check
 {% endif %}                                                                     
{% endfor %}

Br, Tanmoy

1 Ответ

0 голосов
/ 30 мая 2018

Будьте осторожны с asRole Var:

{% for host in groups['as'] %}
 {% if "transaction" in asRole %}
  server {{ hostvars[host]['inventory_hostname'] }} {{ host }}:{{ httpd_port }}check
 {% endif %}
{% endfor %}
...