私は各環境タイプdev、qa、integrationに対してyamlファイルを作成しました。しかし、複数の開発環境があり、ホスト固有のyamlファイルを使っていくつかの変更を無効にしたい。hiera_hashを使ってヒエラの人形を変更する
Hiera
|--host
| |-dev1.internet.com
| |-dev2.intranet.com
|--servertype
| |-dev
| |-qa
dev.yaml
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
dev2.intranet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'Accrington'
私は、次の
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
hiera_arrayは私に望ましい結果を与えていないとhiera_hashは私に次のエラーを与えている持っているdev1.internet.com.yamlの設定を取得する方法が必要です: キー 'augeas_xml'のHieraタイプの不一致:ハッシュとハングアップが予想される
ホスト固有の設定は環境固有の設定よりも優先されません。私が与えた例は、小さなサーバーセットです。私は人形を使って何百ものサーバーを管理しています。 hieraを使用して、すべての単一のホストに対してyamlファイルを作成することができました。しかし、私はdefault.yamlを持っていると
---
:hierarchy:
- "host/%{::fqdn}"
- "server_type/%{server_type}"
- default
:backends:
- yaml
:yaml:
:datadir: "/puppet/hieradata/%{::environment}"
:merge_behavior: deeper
後者は
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
を生産しているhost.yamlの変更を上書きすることができるようにしたいが、私はそれがやりたい
dev1.internet.com.yaml
augeas_xml:
- 'set /root/node/servername/#text 'dev'
- 'set /root/node/serverlocation/#text 'London'
- 'set /root/node/ntp/#text '123.123.123.123'
- 'set /root/node/serverlocation/#text 'New York'
- 'set /root/node/ntp/#text '123.123.123.125'
'hiera_hash'は、ここでは使用されません。 'hiera_array'の結果は望ましくないのですか?それが発生している出力を表示し、それがなぜ問題なのかを示してください。 –
ホスト固有の設定は、環境固有の設定より優先されません。私が与えた例は、小さなサーバーセットです。私は人形を使って何百ものサーバーを管理しています。 hieraを使用して、すべての単一のホストに対してyamlファイルを作成することができました。しかし、私はdefault.yamlを持っていて、host.yamlの変更を上書きできるようにしたいと考えています – Vash
あなたのhiera.yamlを質問に追加し、より正確に記述しているファイルの場所を表示してください構造体や論理構造体を上にしていますか? –