Come faccio a stampare il nome host corrente di un host in ansible


12

Ho scritto un ruolo per modificare il motd quando l'utente accede alla macchina, ma voglio personalizzare il motd per stampare il nome host della macchina

Quale variabile devo usare? o come posso farlo? modello? Come? Ho usato il copy moduleper il file motd

Quindi, ad esempio, voglio poter dire "benvenuto in $ hostname", quindi come posso analizzare questo nome host usando ansible?

Risposte:


20

A tale scopo è necessario utilizzare il modello -module.

Ecco un esempio di attività:

- name: Create motd
  template: src="motd.j2" dest="/etc/motd"

Il file motd.j2 (posizionato nei template -subdirectory del tuo ruolo) potrebbe quindi apparire così:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} verrà quindi sostituito con il nome host.

Assicurati di " raccogliere fatti " nel tuo ruolo, altrimenti la variabile sarà vuota.


Come "raccolgo i fatti"? .. grazie
concedi il sarto il

funziona grazie..ma cosa intendi per "raccogliere fatti"?
accorda il sarto il

Ho aggiunto due collegamenti alla documentazione per raccogliere dati.
rndmh3ro,

1
ansible_eth0.ipv4.addresscapito dopo alcune ricerche serie ... che fa schifo ... ansible dovrebbe sapere che ci sono variabili molto importanti che dovrebbero essere più facili da trovare ed essere menzionate chiaramente sul sito del documento
concedi su misura il

1
Se cerchi "indirizzo IP" nei documenti di risposta, puoi trovarlo facilmente nel primo link. C'è anche un intero paragrafo che mostra due modi diversi su come ottenere l'indirizzo di un host!
rndmh3ro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.