2017-05-12 1 views
2

Je cours Facter 3.6 et en essayant d'ajouter un fait personnalisé. Selon le documentation, le dossier /etc/puppetlabs/facter/fact.d/ est automatiquement utilisé pour les faits personnalisés.Facture personnalisée externe ne fonctionne pas sur Puppet

je place le modèle suivant dans ledit dossier comme hello.rb:

Facter.add(:hello) do 
    setcode do 
    "Hello, world" 
    end 
end 

je force puis une course de marionnettes sur l'un de mes agents avec puppet agent -t.

Lorsque je regarde dans PuppetDb je ne vois pas mon nouveau fait personnalisé hello. Ai-je manqué une étape dans l'ajout de mon fait personnalisé externe?

Répondre

2

/etc/puppetlabs/facter/fact.d/ est l'emplacement des faits personnalisés sur les nœuds clients. Si vous voulez qu'un fait personnalisé apparaisse uniquement sur ce client, vous pouvez ajouter le fait personnalisé à cet emplacement. Pluginsync transférera également vos faits personnalisés pour le catalogue actuel à cet endroit automatiquement.

Par conséquent, la méthode préférée pour distribuer des faits personnalisés consiste à les placer dans le répertoire lib/facter du module correspondant. Ils seront ensuite distribués à tous les nœuds qui ont un catalogue appliqué avec ce module dans l'un des chemins de module pour son environnement de répertoire.

Remarque documentation spécifique ici: https://docs.puppet.com/facter/latest/custom_facts.html#using-the-ruby-load-path

Notez également que vous faites un fait sur mesure et non un fait extérieur. Si vous faisiez un fait externe, il se trouverait de préférence dans le répertoire du module correspondant: https://docs.puppet.com/facter/latest/custom_facts.html#fact-locations.