Como fazer um loop sobre o nome do host ou IPS no ansible
Estou tentando instalar o pacemaker usando o playbook ansible no ubuntu 14.04.
A partir de agora, estou apenas testando-o em 1 nó. Portanto, no arquivo hosts, apenas mantive as informações desse nó
[hostname]
1.2.3.4 ansible_ssh_private_key_file=/home/ubuntu/test.pem
No arquivo Yaml do manual, estou tentando instalar e configurar o marcapasso
- hosts: all
sudo: yes
tasks:
- name: install pacemaker
apt: name=pacemaker state=present
- name: install corosync
apt: name=corosync state=present
- name: install fence-agents
apt: name=fence-agents state=present
#- copy: src=corosync_start dest=/etc/default/corosync
#- shell: update-rc.d -f pacemaker remove
#- shell: update-rc.d pacemaker start 50 1 2 3 4 5 . stop 01 0 6 .
A instalação está ocorrendo corretamente no meu nó. Mas, para configuração, preciso editar o /etc/corosync/corosync.conf no qual preciso especificar o endereço do meu host no lugar do endereço de bindnet.
Digamos que estou tendo mais de uma entrada na seção [hostname]. Existe alguma maneira no ansible que eu possa fazer um loop no meu arquivo YAML
Estou tentando usar o comando sed para substituir o IP. Mas, você pode ajudar a fazer um loop ou imprimir os Ips.
Eu tentei assim
- hosts: all
sudo: yes
tasks:
- debug: msg = "{{ ansible_hostname }}"
- name: Test
task: {% for host in groups['app_servers'] %}
{{host}}
{% endfor %}
Você pode me dizer como isso deve ser escrito?