8 votes

Déterminer / définir l'environnement Puppet

J'essaie de déterminer ce que Puppet pense être l'environnement de mes nœuds d'agent. Par la documentation J'ai configuré l'environnement de l'agent dans /etc/Puppet/Puppet.conf comme tel

[agent]
    environment = development

Afin de visualiser l'environnement, j'ai trouvé ce code pour ajouter un environnement d'un fait à un autre :

require 'puppet'

Facter.add("environment") do
  setcode do
    Puppet[:environment]
  end
end

Cependant, sur l'un de mes nœuds d'agent, si j'exécute sudo facter -p environment le résultat est production . J'ai essayé de définir manuellement l'environnement temporairement via sudo puppet agent --environment development mais le résultat de Facter est le même.

Une idée de ce qui se passe ?

0 votes

Peut-être qu'un bogue . J'ai ajouté environnement à la principal et cela fonctionne (après avoir redémarré le service Puppet). En plaçant la valeur sous le agent La strophe semble n'avoir aucun effet.

1 votes

L'environnement est déjà transmis au serveur. Vous n'avez pas besoin de créer un fait.

0 votes

@Zoredache Il semble que l'environnement n'était même pas correctement défini pour commencer. Comment j'aurais pu voir ça sans le faire ?

8voto

Shane Madden Points 112034

Essayez puppet agent --configprint environment - qui s'assurera que l'on utilise l'option [agent] dans le fichier de configuration, qui sera également utilisé lorsque l'agent reçoit un catalogue d'un maître.

0 votes

Ne devrait-on pas agent héritent de la principal stanza ? C'est ce que le documentation dit "Le bloc de configuration [principal] est le moins spécifique. Les réglages effectués ici sont toujours effectifs, sauf s'ils sont remplacés par un bloc plus spécifique." Cependant, lorsque j'exécute cette commande, le résultat est le suivant production alors que si j'utilise le fait dans ma question développement est renvoyé. Même lorsque j'essaie votre commande avec l'environnement défini sous l'onglet agent le résultat est production

0 votes

Oui, il peut être défini dans le bloc principal ou dans le bloc agent. Il n'utilise pas le bon fichier de configuration si le contenu du fichier de configuration n'est pas en vigueur. Vous êtes root ?

0 votes

Je sais que vous devrait pour pouvoir définir l'environnement à l'un ou l'autre endroit, mais le fait ne semble pas fonctionner à 100 % lorsqu'il est défini à l'intérieur de l'élément agent stanza. J'ai exécuté la commande facter via sudo. Et je viens de réaliser que lorsque vous exécutez votre commande via sudo, elle renvoie développement . De plus, il renvoie le développement lorsque l'environnement est défini dans le fichier agent stanza ! Au revoir le fait personnalisé, bonjour la prochaine question de serverfault (à venir ;))

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X