パペットとファクターに問題があります。
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
文字列しか見えない!
誰でも助けてください。何か案は?
ありがとうタナー