0

パペットとファクターに問題があります。

puppet --version -> 3.8.6
ファクト --version -> 2.4.6

ネストされたハッシュを returnvalue として、softwareinventory のファクトを書き込みます

このような:

    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

factor -p packages は期待どおりのハッシュを返します。

ただし、puppetrun の場合:
puppet agent -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

文字列しか見えない!

誰でも助けてください。何か案は?

ありがとうタナー

4

1 に答える 1

0

puppetdbv3 は、文字列と puppetdbv4 が表示しないように、常に事実を表示することがわかりました。puppetserver で再度テストしたところ、ハッシュ -> パッケージに正常にアクセスできました。

よろしくタナー

于 2016-05-27T11:12:57.990 に答える