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 ?
0 votes
Aussi, pourquoi
sudo puppet agent --environment development
ne se reflète pas dans les faits ?3 votes
Le client Puppet envoie ses propres données que vous ne voyez pas dans facter. L'environnement en est un, la version du client et le nom du certificat sont d'autres exemples. Vous pouvez mettre quelque chose comme
notify {"environment = $::environment":}
sur votre maître.0 votes
Je ne suis pas vraiment en train de créer le fait pour l'utiliser dans un module etc sur le master. J'essaie simplement de comprendre ce qui se passe avec les boîtes d'agents. Il me semble beaucoup plus facile d'avoir un fait que je peux vérifier sur l'agent, plutôt que d'avoir à visualiser la sortie du journal sur le maître... Quoi qu'il en soit,
sudo puppet agent --environment development
ne fonctionne toujours pas et je suis curieux de savoir pourquoi. En fin de compte, j'aimerais influencerhiera
qui, je crois, sont entièrement locales aux nœuds d'agents, donc encore une fois, il n'est pas nécessaire de prendre en compte le maître dans le dépannage que je peux voir.0 votes
Vous êtes tuer les anciennes instances de l'agent avant d'exécuter
sudo puppet agent --environment ...
n'est-ce pas ? Si vous essayez de faire un test d'un seul type, vous devez utiliserpuppet agent --test --environment ...
Vous pouvez ajouter--debug
pour plus de détails sur le client.0 votes
puppet agent --environment development
définit l'environnement pour cette seule exécution, il ne modifie pas la configuration. Elle ne modifierait pas le résultat d'une exécution ultérieurefacter
de quelque manière que ce soit. Vous devez no essayer de mettre en place un fait personnalisé pourenvironment
. Qu'essayez-vous d'accomplir ? Si vous essayez de vérifier ce queenvironment
est utilisé par l'agent pour obtenir un catalogue du maître, vous devriez vous tourner vers le service d'inventaire ou une ressource de notification comme l'a mentionné Zoredache.0 votes
Merci pour la clarification sur
puppet agent --environment development
. J'essaie simplement de déterminer quel est l'environnement d'un agent. Comme je l'ai dit, je pense que le fait est parfaitement logique pour cela. Comme je l'ai découvert, la documentation semble être inexacte ou il y a un bug autour de Puppet.conf environnements.