ANSIBLE – HUR MAN SAMLAR IN INFORMATION OM FJÄRNHUS MED GATHERS FACTS (2017)

Gautier Franchini

Follow

14 november, 2020 – 2 min read

För att kunna göra detta, kommer vi att diskutera ansible-modulen: Gathers facts

💬 Officiell webbsida:

Visa fakta från alla värdar och lagra dem i /tmp/facts indexerat efter värdnamn

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

➡ Kontrollera nu filen för att få en tydlig bild av alla variabler (fakta) som samlats in av ansible för din värddator, som den välkända {{ inventory_hostname }}

För att lista fakta direkt i din playbook måste du ange gather_facts: True i din playbook

gather_facts: True tasks:
- debug: var=hostvars

hämta aktuell målvärds IP-adress och använd den i din ansible-roll eller playbook

Du kan använda i din template.j2{{ ansible_eth0.ipv4.address }} på samma sätt som du använder {{ inventory_hostname }}

För att ställa in värdet i din vars-fil

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

använd case

➡ här är ett exempel: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Det här git-förrådet är inte tänkt att användas i produktion, det är bara för att illustrera det här blogginlägget.

Jag hoppas att det hjälper någon en dag ッ

kr,
G.

uppdatering: 2018-04-19

Du kan också använda ”setup” i din .I mitt nuvarande användningsfall behöver jag t.ex. hämta default ipv4 addr:

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

Du kan nu anropa {{ ansible_default_ipv4.address }} i din playbook.
(setup laddar alla ansible_**-variabler)

ℹ️ För dem som är intresserade av att lära sig mer om ansible rekommenderar jag den här webbplatsen: www.educba.com ; Jag tyckte att informationen var komplett och lätt att läsa.