É simples definir essa variável em um ansible.cfg, mas faz sentido apenas para hosts que não possuem sftp (e provavelmente python também). Então eu tenho um grupo para roteadores – é possível definir essa variável em group_vars?
hryamzik's questions
Digamos que eu tenha um host que coleta alguns dados e
está em um grupo [collectors]
. Eu também tenho hosts em grupo [reporters]
.
Então, quero definir uma variável nos repórteres do groups['collectors'][0]
endereço IP. Mas o manual para configurar repórteres não é executado no [collectors]
grupo, portanto, os fatos para esse host não são coletados. Existe uma maneira de não codificar o endereço IP?
I dois grupos de hosts: dc1 e dc2. Também combinado a um grupo DC.
Preciso passar uma lista de endereços IP de hosts de um controlador de domínio externo para um comando. with_items não funciona aqui.
Deve ficar assim:
somescript -H 10.10.10.3 -H 10.10.10.4
Portanto, há 2 pontos: 1. Obtenha a lista de hosts no grupo DC, excluindo os do grupo primário de hosts. Não tenho certeza se isso é possível, então a maneira suja é definir uma variável remote_dc (ou array). 2. Digamos que temos uma lista de hosts de p.1: groups[remote_dc]. Como usá-lo como uma chave para hostvars[ key ]['ansible_eth1']['ipv4']['address'] e obter o resultado como uma lista?
Por enquanto, tive que usar uma maneira muito suja: criei uma lista remote_addresses para cada grupo DC e iterei assim:
command: somescript -H {{ remote_addresses|join(' -H ') }}
Portanto, existe uma maneira adequada de implementar p.1 e p.2 e omitir a criação manual da lista de endereços IP?