Wie drucke ich den aktuellen Hostnamen eines Hosts in ansible


11

Ich habe eine Rolle zum Bearbeiten des Motivs geschrieben, wenn sich der Benutzer am Computer anmeldet, aber ich möchte das Motiv personalisieren, um den Hostnamen des Computers zu drucken

Welche Variable verwende ich? oder wie mache ich das Vorlage? Wie? Ich habe das copy modulefür die Motd-Datei verwendet

Zum Beispiel möchte ich in der Lage sein, "Willkommen bei $ hostname" zu sagen. Wie analysiere ich diesen Hostnamen mit ansible?

Antworten:


20

Dazu müssen Sie das Template- Modul verwenden.

Hier ist eine Beispielaufgabe:

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

Die Datei motd.j2 (im Vorlagenverzeichnis Ihrer Rolle abgelegt) könnte dann folgendermaßen aussehen:

Welcome to host {{ansible_hostname}}!

{{ansible_hostname}} wird dann durch den Hostnamen ersetzt.

Stellen Sie sicher, dass Sie in Ihrer Rolle " Fakten sammeln ", da sonst die Variable leer ist.


Wie "sammle ich Fakten"? .. danke
Grant Schneider

funktioniert danke ... aber was meinst du mit "Fakten sammeln"?
Grant Schneider

Ich habe der Dokumentation zwei Links hinzugefügt, um Fakten zu sammeln.
rndmh3ro

1
ansible_eth0.ipv4.addresses heraus nach einigen schweren searching..which saugt ... ansible sollte wissen , dass es sehr wichtige Variablen sind , die einfacher sein sollte , finden und deutlich auf der doc Stelle erwähnt werden
Zuschuss Schneider

1
Wenn Sie in den Ansible-Dokumenten nach "IP-Adresse" suchen, finden Sie diese leicht im ersten Link. Es gibt sogar einen ganzen Absatz , der zwei verschiedene Möglichkeiten zeigt, wie man die Adresse eines Hosts erhält!
rndmh3ro
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.