木偶参数化类和hiera

我从RedHat Enterprise Linux 6上的puppetlabs回购站运行puppet open source 3.1.0,并使用hiera 1.1.2。 我遇到了似乎是hiera如何与参数化类一起工作的一个bug或根本的误解。 我已经设置了一个默认值的参数化子类。 我试图在一个特定的节点上设置不同的值。 该节点是在没有类的主要清单之一中声明的,并且在该清单中有hiera_include('classes')。 我正在尝试更改“my_firewall”类中“activate”参数的值。 当我的hiera节点文件如下所示:

--- classes: - puppetmaster rel::auth_users: ['puppet'] rel::my_firewall::activate: false 

rel :: my_firewall甚至没有加载(我已经通知两个布尔值的“激活”,没有看到他们)。 rel :: auth_usersparameter passing正常。 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, } } 

正确地声明该类并将激活设置为false。

我做错了吗? 我的语法closures了吗? 任何帮助都是极好的。

语法看起来不错。 看起来像bug 17474 – 错误的值不正确加载。

作为一个解决scheme,直到3.2出来,也许使用一个string?