2017-05-12 6 views
2

私はFacter 3.6を実行していて、カスタムファクトを追加しようとしています。 documentationによれば、フォルダ/etc/puppetlabs/facter/fact.d/は自動的にカスタムファクトに使用されます。外部カスタムファクトがパペットで機能しない

は私がhello.rbと言ったフォルダに次のテンプレートを配置します。

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

は、私はその後、puppet agent -tと私剤の一つに人形の実行を強制します。

PuppetDbを見ると、新しいカスタムファクトhelloは表示されません。外部のカスタムファクトを追加するステップがありませんでしたか?

答えて

2

/etc/puppetlabs/facter/fact.d/は、クライアントノード上のカスタムファクトの場所です。カスタムファクトをそのクライアントにのみ表示する場合は、カスタムファクトをその場所に追加できます。 Pluginsyncは、現在のカタログのカスタムファクトをその場所に自動的に転送します。

したがって、カスタムファクトを配布する好ましい方法は、対応するモジュールのlib/facterディレクトリに配置することです。ディレクトリ環境のモジュールパスのいずれかに、そのモジュールが適用されたカタログを持つすべてのノードに配布されます。ここ

注特定のドキュメント:https://docs.puppet.com/facter/latest/custom_facts.html#using-the-ruby-load-path

はまた、カスタム事実ではなく外部の事実をやっている注意してください。外部事実を行っていた場合は、対応するモジュールのfacts.dディレクトリにあることが好ましいでしょう:https://docs.puppet.com/facter/latest/custom_facts.html#fact-locations

関連する問題