web-dev-qa-db-ja.com

ヒエラは人形の環境を見つけることができません

私は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コマンドを実行しようとしたことに注意してください。

1
quickshiftin

hiera factsをフィードする には複数の方法があります。 hiera -d blah environment=developmentをお試しください。

1
sciurus