我在RedHat EnterpriseLinux6上运行傀儡开源3.1.0,并使用Hiera1.1.2。在hiera如何使用参数化类的问题上,我遇到了一个错误或根本的误解。我已经设置了一个带有默认值的参数化子类。我试图在特定节点上将值设置为不同的值。节点是在一个没有类的主清单中声明的,我在这个清单中有hiera_include(' classes ')。我试图在"my_firewall“类中更改"activate”参数的值。当我的hiera节点文件如下所示时:
---
classes:
- puppetmaster
rel::auth_users: ['puppet']
rel::my_firewall::activate: false rel::my_firewall甚至不加载(我已经通知了两个布尔值"activate“,而没有看到它们)。rel::auth_users参数可以很好地传递。rel类在hiera中的父类中定义。
当我把它改为:
---
classes:
- puppetmaster
- rel::my_firewall
rel::auth_users: ['puppet']
rel::my_firewall::activate: false 它加载rel::my_firewall类,但使用默认值,而不是虚值。
作为正常检查,当我在节点清单中以正常方式定义事物时,一切正常:
node 'puppet.my.domain' {
class { 'rel::my_firewall':
activate => false,
}
}正确声明类并将其设置为false。
我做错事了吗?我的语法关了吗?任何帮助都会很棒。
发布于 2013-05-13 19:37:32
语法看起来不错。看起来像bug 17474 --假值没有正确加载。
作为一个解决办法,直到3.2已经过时,也许使用字符串?
https://serverfault.com/questions/507402
复制相似问题