ANSÍVEL – COMO COLLETAR INFORMAÇÕES SOBRE AS HOSPEDAGENS REMOTADAS COM FATOS DE GATOS (2017)

>

>
Gautier Franchini

Follow

>

14 de novembro, 2020 – 2 min. lido

>

>
>

>

>

Para isso, discutiremos sobre um possível módulo: Gathers facts

💬 Página oficial:

Exibir factos de todos os anfitriões e armazená-los em /tmp/facts indexados pelo nome do anfitrião

$ ansible all -m setup --tree /tmp/facts

➡ agora verifique o ficheiro para ter uma visão clara de todas as variáveis (factos) recolhidos pelo ansible para o seu anfitrião como o bem conhecido {{ inventory_hostname }}

Para listar o facto directamente no seu playbook você tem de definir gather_facts: Verdadeiro no seu playbook

>

gather_facts: True tasks:
- debug: var=hostvars

Esolha o endereço IP do host alvo atual e use-o no seu papel ou playbook

Pode usar no seu template.j2{{ ansible_eth0.ipv4.address }} da mesma forma que você usa {{ inventory_hostname }}

Para definir o valor no seu arquivo vars

---
host_ip: "{{ ansible_enp0s3.ipv4.address }}"

caso de uso

➡ aqui está um exemplo: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Este repositório git não é para ser usado em produção, é apenas para ilustrar este post do blog.

Espero que um dia ajude alguém ッ

kr,
G.

actualização: 2018-04-19

Você também pode usar “setup” no seu .yaml file.

e.g. No meu caso de uso atual, eu preciso obter o arquivo default ipv4 addr:

- name: Gather facts from new server
setup:
filter: ansible_default_ipv4.address

Você pode agora chamar {{ ansible_default_ipv4.address }} no seu playbook.
(setup load all the ansible_** variables)

ℹ️ Para aqueles que estão interessados em aprender mais com o ansible eu recomendo este site: www.educba.com ; eu achei a informação completa e fácil de ler.