Доступ к именам хостов в файле ansible_hosts в цикле в Ansbile?

#apache-zookeeper #ansible

#apache-zookeeper #ansible

Вопрос:

Я пытаюсь автоматизировать установку zookeeper с помощью Ansible. Я хочу добавить кучу строк в свой cfg файл. Ниже приведен пример, в котором есть 5 узлов. zoo1 , zoo2 , zoo3 и т. Д. хосты, которые у меня есть в моем ansible_hosts файле.

Я хочу реализовать это с with_items помощью, но не могу понять. Есть идеи, как получить доступ к имени хоста в ansible_hosts файле в цикле?

 initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
server.4=zoo4:2888:3888
server.5=zoo5:2888:3888
  

Ответ №1:

Комментарии:

1. Это верно. Подробнее об этом читайте в документах

Ответ №2:

вы можете автоматизировать это, выполнив цикл в шаблоне

{% for host in groups['06'] %}
server.{{ loop.index }}={{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}:2888:3888
{% endfor %}