Comment imprimer le nom d'hôte actuel d'un hôte en ansible

12

J'ai écrit un rôle pour modifier le motd lorsque l'utilisateur se connecte à la machine, mais je veux personnaliser le motd pour imprimer le nom d'hôte de la machine

Quelle variable dois-je utiliser? ou comment faire? modèle? Comment? J'ai utilisé le copy modulepour le fichier motd

Ainsi, par exemple, je veux pouvoir dire "bienvenue dans $ hostname", alors comment analyser ce nom d'hôte en utilisant ansible?

accorder un tailleur
la source

Réponses:

20

Vous devez utiliser le modèle -module pour cela.

Voici un exemple de tâche:

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

Le fichier motd.j2 (placé dans le sous- répertoire templates de votre rôle) pourrait alors ressembler à ceci:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} sera alors remplacé par le nom d'hôte.

Assurez-vous de " rassembler des faits " dans votre rôle, sinon la variable sera vide.

rndmh3ro
la source
Comment puis-je "rassembler des faits"? .. merci
Grant Tailor
fonctionne merci .. mais que voulez-vous dire par «recueillir des faits»?
accorder le tailleur le
J'ai ajouté deux liens vers la documentation pour rassembler des faits.
rndmh3ro
1
ansible_eth0.ipv4.addresscompris après quelques recherches sérieuses..qui suce ... ansible devrait savoir qu'il existe des variables très importantes qui devraient être plus faciles à trouver et être clairement mentionnées sur le site doc
accordez le tailleur le
1
Si vous recherchez "adresse IP" dans la documentation ansible, vous pouvez facilement la trouver dans le premier lien. Il y a même un paragraphe entier qui montre deux façons différentes d'obtenir l'adresse d'un hôte!
rndmh3ro