web-dev-qa-db-fra.com

nom d'hôte du nœud fantoche

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?

27
Michal Bryxí

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

35
Michal Bryxí

La saisie de la commande suivante dans votre terminal renvoie les variables disponibles dans vos fichiers erb:

facter --puppet
29
pcting

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 ).

6
nfagerlund

Apparemment, vous pouvez maintenant utiliser

<%= fqdn %> 

et obtenez le nom inverse DNS.

Si vous devez le mettre en minuscule, utilisez

<%= fqdn.downcase %>
4
mtneagle

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).

2
adamcooke