Gautier Franchini
Sigue
14 de noviembre, 2020 – 2 min read
Para ello, hablaremos del módulo ansible: Gathers facts
💬 Página oficial:
- Muestra los hechos de todos los hosts y almacénalos en /tmp/facts indexados por nombre de host
- Para listar el hecho directamente en tu playbook tienes que establecer gather_facts: True en tu playbook
- obtener la dirección IP del host de destino actual y usarla en tu rol o playbook de ansible
- Para establecer el valor en tu archivo vars
- usar case
- actualización: 2018-04-19
Muestra los hechos de todos los hosts y almacénalos en /tmp/facts indexados por nombre de host
$ ansible all -m setup --tree /tmp/facts
➡ ahora revisa el archivo para tener una visión clara de todas las variables (hechos) recogidas por ansible para tu host como el conocido {{ inventory_hostname }}
Para listar el hecho directamente en tu playbook tienes que establecer gather_facts: True en tu playbook
gather_facts: True tasks:
- debug: var=hostvars
obtener la dirección IP del host de destino actual y usarla en tu rol o playbook de ansible
Puedes usar en tu template.j2{{ ansible_eth0.ipv4.address }}
de la misma manera que usas {{ inventory_hostname }}
Para establecer el valor en tu archivo vars
---
host_ip: "{{ ansible_enp0s3.ipv4.address }}"
usar case
➡ aquí hay un ejemplo: https://github.com/orsius/ansible-dtx-cassandra-3
⚠ Este repositorio git no está pensado para ser usado en producción, es sólo para ilustrar esta entrada del blog.