Ezért, az ansible modulról fogunk beszélni: Gathers facts
💬 Hivatalos weboldal:
- A tények megjelenítése minden hostról és tárolása a /tmp/facts könyvtárban hostnév szerint indexelve
- A tény közvetlen listázásához a playbookodban a gather_facts beállítása szükséges: True a playbookodban
- kapd meg az aktuális célállomás IP címét és használd az ansible szerepedben vagy playbookodban
- Az érték beállításához a vars fájlodban
- használd a case
- frissítve: 2018-04-19
A tények megjelenítése minden hostról és tárolása a /tmp/facts könyvtárban hostnév szerint indexelve
$ ansible all -m setup --tree /tmp/facts
➡ most ellenőrizd a fájlt, hogy az ansible által összegyűjtött összes változót (tényt) áttekinthesd a hostodra, mint a jól ismert {{ inventory_hostname }}
A tény közvetlen listázásához a playbookodban a gather_facts beállítása szükséges: True a playbookodban
gather_facts: True tasks:
- debug: var=hostvars
kapd meg az aktuális célállomás IP címét és használd az ansible szerepedben vagy playbookodban
A template.j2{{ ansible_eth0.ipv4.address }}
-ben ugyanúgy használhatod, mint a {{ inventory_hostname }}
Az érték beállításához a vars fájlodban
---
host_ip: "{{ ansible_enp0s3.ipv4.address }}"
használd a case
➡ itt egy példa: https://github.com/orsius/ansible-dtx-cassandra-3
⚠ Ez a git repository nem a termelésben való használatra készült, csak a blogbejegyzés illusztrálására szolgál.
Remélem, ez egyszer majd segít valakinek ッ
kr,
G.
frissítve: 2018-04-19
A “setup”-ot is használhatod a .yaml fájlban.
pl. A jelenlegi felhasználási esetemben szükségem van a default ipv4 addr
:
- name: Gather facts from new server
setup:
filter: ansible_default_ipv4.address
Az {{ ansible_default_ipv4.address }}
meghívására a playbookodban.
(setup load all the ansible_** variables)
ℹ️ Azoknak, akik többet szeretnének tanulni az ansible-ről, ajánlom ezt a weboldalt: www.educba.com ; Az információkat teljesnek és könnyen olvashatónak találtam.