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?

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.