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.