Como posso reutilizar o inventário Ansible para tarefas locais?

0

Estou tentando usar o Ansible para gerenciamento de configuração e administração centralizada.

Todas as máquinas que me interessam são na verdade containers no host que executará o Ansible.

Atualmente, estou escrevendo um script de inventário dinâmico que agrupa os diferentes hosts e disponibiliza determinados hostvars por grupo e também por host.

Como posso usar as informações de inventário para executar tarefas locais?

Exemplo: Eu tenho um contêiner chamado foo e o inventário dinâmico define certos itens como endereço IP, limites de cgroup e assim por diante. Como posso reutilizar essas informações antes que o contêiner de convidados esteja ativo, para gerar (usando os modelos comuns do Jinja2) a configuração do contêiner no host?

    
por 0xC0000022L 24.05.2015 / 20:15

1 resposta

3

Se eu entendi corretamente, você precisa acessar algumas variáveis ansible definidas para um host genérico. Você pode acessar todas as variáveis de hosts pelo dicionário hostvars , que tem o nome do host como chave primária, para o seu exemplo:

{{ hostvars['foo']['ipv4']['address'] }}

Os créditos vão para:

por 25.05.2015 / 09:23