RedHat Enterprise Linux 6のpuppetlabsリポジトリからpuppetオープンソース3.1.0を実行しており、hiera1.1.2を使用しています。 hieraがパラメーター化されたクラスでどのように機能するかについて、バグまたは根本的な誤解のように思われる問題に遭遇しています。パラメータ化されたサブクラスをデフォルト値で設定しました。特定のノードで値を別の値に設定しようとしています。ノードはクラスのないメインマニフェストの1つで宣言されており、そのマニフェストにhiera_include( 'classes')があります。 「my_firewall」クラスの「activate」パラメータの値を変更しようとしています。 hieraノードファイルが次のようになっている場合:
---
classes:
- puppetmaster
rel::auth_users: ['puppet']
rel::my_firewall::activate: false
rel :: my_firewallはロードされません(「activate」の2つのブール値について通知しましたが、表示されません)。 rel :: auth_usersパラメーターは正常に渡されます。 relクラスは、hieraの親で定義されています。
これに変更すると:
---
classes:
- puppetmaster
- rel::my_firewall
rel::auth_users: ['puppet']
rel::my_firewall::activate: false
Rel :: my_firewallクラスをロードしますが、false値ではなくデフォルト値を使用します。
健全性チェックとして、ノードマニフェストで通常の方法で物事を定義すると、物事は正常に機能します。
node 'puppet.my.domain' {
class { 'rel::my_firewall':
activate => false,
}
}
クラスを適切に宣言し、activateをfalseに設定します。
私は間違ったことをしていますか?私の構文はオフですか?どんな助けでも素晴らしいでしょう。
構文は良さそうです。 bug 17474 のように見えます-false値が正しくロードされていません。
3.2がリリースされるまでの回避策として、文字列を使用しますか?