web-dev-qa-db-ja.com

hieraをスタンドアロンで実行して値をテストするにはどうすればよいですか?

おそらく私のパペットマスターでは、コマンドラインから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ルックアップをテストおよびデバッグしますか?

3
Mojo

ノードのhieraデータ全体をダンプすることはできません。 hieraのカスタムバックエンドを作成するためのAPIを見ると、データセット全体またはキーのリストを返すためのAPIはなく、特定のキーに関連付けられた値を取得する方法であることがわかります。さまざまなバックエンドが可能であることに注意してください。

特定のキーの値を検索できます。例えば:

hiera -c /etc/puppet/hiera.yaml \
key \
fqdn=pamcontent001.mgs.example.com \
environment=production

この方法で提供する必要のあるスコープ変数は、hiera.yamlファイルで使用するスコープ変数によって異なります。 this が便利な場合があります。

1
mc0e