私はhieraをテストしていて、階層構成に問題があります。私が持っているのは非常に単純です。機能していない部分は、環境に基づいたhieradatadirファイルの指定です。これが設定ファイルです(/ etc/hiera.yaml)私が試している
---
:backends:
- yaml
:logger: console
:hierarchy:
- "%{::environment}"
:yaml:
:datadir: /var/lib/hiera
これで、ファイル/ var/lib/hiera/development.yamlができました。
blah: meh
Hieraを実行すると、ファイルまたは値が見つかりません
$ hiera -d blah
DEBUG: Fri Oct 25 15:50:52 -0600 2013: Hiera YAML backend starting
DEBUG: Fri Oct 25 15:50:52 -0600 2013: Looking up blah in YAML backend
nil
このエージェントが開発用に構成されていることを確認しました
$ Sudo puppet agent --configprint environment
development
ここで、hieraが何かを見つけることができることを証明しましょう。 hiera.yamlファイルへの変更:
:hierarchy:
- development
そして今、hieraはファイルと値を見つけます
$ hiera -d blah
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Hiera YAML backend starting
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Looking up blah in YAML backend
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Looking for data source development
DEBUG: Fri Oct 25 15:53:25 -0600 2013: Found blah in development
meh
では、なぜ動的環境構成で機能しないのでしょうか。私はそれを ドキュメント から直接得ました。結果を変更せずに、Sudo経由でhiera
コマンドを実行しようとしたことに注意してください。
hiera factsをフィードする には複数の方法があります。 hiera -d blah environment=development
をお試しください。