我对 puppetdb 和我的结构化事实(哈希)有疑问。
哈希将通过我的 puppetdb 进行字符串化。
Ubuntu 14.04
puppetserver = 3.8.7
facter = 2.4.4
puppetdb = 2.3.8-1
在客户端和服务器上的 puppet.conf 中,我包括:
stringify_facts = false
在我的 site.pp 我有以下条目:
if is_hash($::os) {
notify {'hash':}
notify {$os['family']:}
}
if is_string($::os) {
notify {'string':}
notify {$os['family']:}
}
如果在服务器上的我的 puppet.conf 中:
storeconfigs = true
storeconfigs_backend = puppetdb
puppetdb 正在运行。
我在客户端 puppetrun 上收到以下消息:
os is not a hash or Array when accesssing it with family.
如果我将我的 site.pp 更改为仅:
if is_string($::os) {
notify {'os is a string':}
}
然后我收到消息->'os 是一个字符串'
如果我将服务器上的 puppet.conf 更改为:
storeconfigs = false
storeconfigs_backend = puppetdb
那么一切都好。os fact 将被标识为哈希。
有人有想法吗?请帮助 :) 坦纳