Question
J'utilise marionnette aux serveurs configure. Je veux imprimer le nom de la machine actuelle (noeud) dans * modèle de .erb. Il y a nom d'hôte variable mais cela est le nom d'hôte puppetmaster. Y at-il une bonne référence / liste en ce qui concerne à ce sujet?
La solution
On dirait que j'ai quelque part regardé manquer. Je peux obtenir (impression) nœud nom d'hôte simplement en invoquant le code suivant * modèle .erb:
<%= @hostname %>
Edit: Au Puppet 3, en utilisant des variables locales (c.-à-hostname
est désapprouvée, Marionnettes 4 retirera le support pour eux entièrement la méthode recommandée est de variables d'instance d'utilisation (préfixé avec @
Donc dans ce cas, de @hostname
Autres conseils
Saisie de la commande suivante dans le terminal retourne les variables disponibles dans vos fichiers erb:
facter --puppet
Oui à tout ce qui précède; vous pouvez également trouver la variable fqdn
utile, en fonction de ce que vous êtes à.
Si vous ne trouvez-vous besoin de informations du serveur maître de marionnettes dans un modèle, vous pouvez utiliser les variables servername
, serverip
et serverversion
( de la FAQ ).
Apparemment, vous pouvez maintenant utiliser
<%= fqdn %>
et obtenir le nom DNS inverse.
Si vous devez le minuscule, utilisez
<%= fqdn.downcase %>
Prenez note cependant, c'est le nom d'hôte plutôt que le nom de noeud (qui vous avez demandé à l'origine pour). Dans 99% des cas, ceux-ci seront les mêmes. Autant que je sache il n'y a pas un moyen d'obtenir le nom du nœud réel dans les modèles (et s'il y a, j'aimerais entendre).