ANSIBILE – COME RACCOGLIERE INFORMAZIONI SUGLI OSPITI REMOTI CON GATHERS FACTS (2017)

Gautier Franchini

Follow

14 novembre, 2020 – 2 min read

Per fare questo, parleremo del modulo ansible: Gathers facts

💬 Pagina web ufficiale:

Visualizza i fatti di tutti gli host e memorizzali in /tmp/facts indicizzati per hostname

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

➡ ora controlla il file per avere una chiara visione di tutte le variabili (fatti) raccolti da ansible per il tuo host come il ben noto {{ inventory_hostname }}

Per elencare i fatti direttamente nel tuo playbook devi impostare gather_facts: True nel tuo playbook

gather_facts: True tasks:
- debug: var=hostvars

ottenere l’indirizzo IP dell’host di destinazione corrente e usarlo nel tuo ruolo ansible o playbook

Puoi usare nel tuo template.j2{{ ansible_eth0.ipv4.address }} nello stesso modo in cui usi {{ inventory_hostname }}

Per impostare il valore nel tuo file vars

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

uso case

➡ ecco un esempio: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Questo repository git non è destinato ad essere utilizzato in produzione, è solo per illustrare questo post del blog.

Spero che possa aiutare qualcuno un giorno ッ

kr,
G.

aggiornamento: 2018-04-19

Puoi anche usare “setup” nel tuo file .yaml.

Per esempio nel mio caso d’uso attuale, ho bisogno di ottenere il default ipv4 addr:

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

Ora puoi chiamare {{ ansible_default_ipv4.address }} nel tuo playbook.
(setup carica tutte le variabili ansible_**)

ℹ️ Per coloro che sono interessati a saperne di più con ansible consiglio questo sito: www.educba.com ; ho trovato le informazioni complete e facili da leggere.