ANSIBEL – HOE VERZAMELT U INFORMATIE OVER AFSTANDSGASTEN MET GESCHIEDENIS (2017)

Gautier Franchini

Follow

14 nov, 2020 – 2 min read

Om dit te doen, zullen we het hebben over ansible-module: Gathers facts

💬 Officiële webpagina:

Ontdek feiten van alle hosts en sla ze op in /tmp/facts geïndexeerd op hostnaam

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

➡ Controleer nu het bestand om een duidelijk beeld te krijgen van alle variabelen (feiten) die ansible voor uw host heeft verzameld, zoals de bekende {{ inventory_hostname }}

Om de feiten direct in uw playbook op te nemen, moet u gather_facts: True in uw playbook

gather_facts: True tasks:
- debug: var=hostvars

het IP-adres van de huidige doelhost ophalen en gebruiken in uw ansible role of playbook

U kunt in uw template.j2{{ ansible_eth0.ipv4.address }} op dezelfde manier {{ inventory_hostname }}

Om de waarde in uw vars file

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

te zetten gebruikt u case

➡ hier is een voorbeeld: https://github.com/orsius/ansible-dtx-cassandra-3

⚠ Deze git repository is niet bedoeld om in productie te worden gebruikt, maar dient slechts ter illustratie van deze blogpost.

Ik hoop dat het ooit iemand zal helpen ッ

kr,
G.

update: 2018-04-19

Je kunt ook “setup” gebruiken in je .yaml bestand.

Bijv. In mijn huidige use case moet ik de default ipv4 addr:

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

Je kunt nu {{ ansible_default_ipv4.address }} aanroepen in je playbook.
(setup laadt alle ansible_** variabelen)

ℹ️ Voor degenen die geïnteresseerd zijn om meer te leren met ansible raad ik deze website aan: www.educba.com ; Ik vond de informatie compleet en makkelijk te lezen.