J'utilise des marionnettes pour configurer les serveurs. Je souhaite imprimer le nom de la machine actuelle (nœud) dans le modèle * .erb. Il existe une variable hostname, mais celle-ci contient le nom d'hôte puppetmaster. Y a-t-il une bonne référence/liste concernant ce sujet?
On dirait que j'ai raté quelque part. Je peux obtenir (imprimer) le nom d'hôte du nœud en invoquant simplement le code suivant dans le modèle * .erb:
<%= @hostname %>
Modifier: à partir de Puppet 3, l'utilisation de variables locales (c'est-à-dire hostname
est obsolète; Puppet 4 supprimera complètement leur prise en charge. La méthode recommandée consiste à utiliser des variables d'instance (préfixées par @
. Donc dans ce cas, @hostname
. Source
La saisie de la commande suivante dans votre terminal renvoie les variables disponibles dans vos fichiers erb:
facter --puppet
Oui à tout ce qui précède; vous pouvez également trouver la variable fqdn
utile, selon ce que vous faites.
Si vous vous trouvez avoir besoin des informations du serveur maître marionnette dans un modèle, vous pouvez utiliser les variables servername
, serverip
et serverversion
( De la FAQ ).
Apparemment, vous pouvez maintenant utiliser
<%= fqdn %>
et obtenez le nom inverse DNS.
Si vous devez le mettre en minuscule, utilisez
<%= fqdn.downcase %>
Notez cependant qu'il s'agit du nom d'hôte plutôt que du nom de nœud (que vous aviez initialement demandé). Dans 99% des cas, ce seront les mêmes. AFAIK il n'y a aucun moyen d'obtenir le nom de nœud réel dans les modèles (et s'il y en a, j'aimerais l'entendre).