我对puppet和facter有疑问。
puppet --version - > 3.8.6
facter --version - > 2.4.6
我为softwareinventory写了一个事实,其中returnvalue是一个嵌套的哈希
像这样: apps = {
'Notepad++' => {
'Displayname' => 'Notepad++'
'Displayversion' => '6.8.3'
}
'Puppet(64-bit)' => {
'Displayname' => 'Puppet(64-bit)'
'Displayversion' => '3.8.6'
}
}
客户端和服务器上的puppet.conf包括: stringify_facts = false
如果我在客户端上使用本地清单test.pp测试内容:
通知{$ :: packages [' Notepad ++'] [' Displayversion']
puppet apply test.pp
我得到正确的值= 6.8.3
facter -p packages返回预期的哈希值。
但是有一个小学生:
傀儡代理-t -d -v
Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
packages is not a hash or array when accessing it with ....
如果我卷曲puppetdb: curl -k http://puppetdbname:8080/v3/nodes/nodename/facts/packages
我只能看到一个字符串!
任何人都可以帮忙。有什么想法吗?
由于 摊儿
答案 0 :(得分:0)
我发现puppetdbv3总是以字符串和puppetdbv4显示事实。 我在我的puppetserver上再次测试,我可以访问我的哈希 - >包 通常
问候 摊儿