Frage
Ich bin mit Marionette zu konfigurieren Servern. Ich möchte aktuelle Maschine (Knoten) Name in * .erb Vorlage drucken. Es ist Hostname Variable, aber dies hält puppetmaster Hostnamen. Gibt es eine gute Referenz / Liste in Bezug auf dieses Thema?
Lösung
Scheint, wie ich miss-sah irgendwo haben. Ich kann erhalten (Druck) Knoten-Hostnamen einfach durch folgenden Code in * .erb Vorlage Aufruf:
<%= @hostname %>
Edit: Wie von Puppet 3 unter Verwendung von lokalen Variablen (dh hostname
ist veraltet; Puppet 4 wird die Unterstützung ganz für sie entfernt die empfohlene Methode ist die Verwendung Instanzvariablen (mit dem Präfix @
also in diesem Fall @hostname
Andere Tipps
Sie den folgenden Befehl in das Terminal wird Variablen in Ihren erb Dateien zurück:
facter --puppet
Ja, um alle der oben; Sie können auch die fqdn
Variable nützlich finden, je nachdem, was Sie vorhaben.
Wenn Sie sich selbst finden, um den Drahtzieher des Servers Informationen in einer Vorlage, können Sie die Variablen servername
verwenden, serverip
und serverversion
( von der FAQ ).
Anscheinend können Sie jetzt
<%= fqdn %>
und erhalten Sie den DNS-Reverse-Namen.
Wenn Sie es in Kleinbuchstaben, verwenden
<%= fqdn.downcase %>
Zu beachten ist allerdings, dies ist der Hostname anstatt die Knotennamen (die Sie ursprünglich gebeten). In 99% der Fälle werden diese gleich sein. AFAIK es nicht eine Möglichkeit ist, die tatsächlichen Knotennamen in Vorlagen zu bekommen (und wenn ja, würde ich gerne hören).