Puppet stringify fact

时间:2016-05-27 09:37:27

标签: hash stringify facter

我对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

我只能看到一个字符串!

任何人都可以帮忙。有什么想法吗?

由于 摊儿

1 个答案:

答案 0 :(得分:0)

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

问候 摊儿