おそらく私のパペットマスターでは、コマンドラインからhieraを実行して、特定のノードが変数セットを生成する方法を確認できますが、その実用的な例を見つけるのは非常に困難です。
Puppetインベントリとmcollectiveを使用しようとしましたが、どちらもエラーが発生しました。
[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -i pamcontent001.mgs.example.com
Puppet inventory service lookup failed: NoMethodError: undefined method `features' for Puppet:Module
Could not load Puppet inventory service scope: SystemExit: exit
[root@puppet001 hiera]# hiera -c /etc/puppet/hiera.yaml -m pamcontent001.mgs.example.com
MCollective lookup failed: LoadError: cannot load such file -- mcollective
Could not load MCollective scope: SystemExit: exit
これらのエラーメッセージを検索すると、いくつかの古いバグとその修正が見つかりますが、それを回避してもテストルックアップはできません。
予期しない値を取得した場合、どのようにheiraルックアップをテストおよびデバッグしますか?
ノードのhieraデータ全体をダンプすることはできません。 hieraのカスタムバックエンドを作成するためのAPIを見ると、データセット全体またはキーのリストを返すためのAPIはなく、特定のキーに関連付けられた値を取得する方法であることがわかります。さまざまなバックエンドが可能であることに注意してください。
特定のキーの値を検索できます。例えば:
hiera -c /etc/puppet/hiera.yaml \
key \
fqdn=pamcontent001.mgs.example.com \
environment=production
この方法で提供する必要のあるスコープ変数は、hiera.yamlファイルで使用するスコープ変数によって異なります。 this が便利な場合があります。