Puppet 将事实串化

Puppet stringify facts

我对 puppet 和 facter 有疑问。

人偶 --version -> 3.8.6
facter --version -> 2.4.6

我为 softwareinventory 写了一个事实,返回值是一个嵌套的散列

像这样:

    apps = {  
    'Notepad++' => {  
         'Displayname'    => 'Notepad++'  
         'Displayversion' => '6.8.3'  
                   }  
    'Puppet(64-bit)' => {  
         'Displayname'    => 'Puppet(64-bit)'  
         'Displayversion' => '3.8.6'  
                   }  
          }  

客户端和服务器上的puppet.conf包括: stringify_facts = 假

如果我使用本地清单 test.pp 在客户端上进行测试,内容为:
通知 {$::packages['Notepad++']['Displayversion']

傀儡申请test.pp
我得到正确的值 = 6.8.3

facter -p 打包 returns 一个像预期的散列。

但有木偶戏:
人偶特工-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

我只能看到一个字符串!

谁能帮忙。有什么想法吗?

谢谢 摊儿

我发现 puppetdbv3 总是以字符串的形式显示事实,而 puppetdbv4 则不然。 我在我的 puppetserver 上再次测试,我可以访问我的哈希 -> 包 通常。

问候 摊儿