2016-05-27 3 views
-1

У меня проблема с марионеткой и фактом.Кукольный пример фактов

кукольный --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 = ложные

Если я проверить на клиенте с местным манифеста test.pp с содержанием:
уведомляют {$ :: пакеты [ 'Notepad ++'] [ 'DisplayVersion']

кукольный применяются test.pp
я получить право value = 6.8.3

Фактор -p пакеты возвращает хэш, как ожидалось.

но с puppetrun:
кукольный агент -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: локон -k http://puppetdbname:8080/v3/nodes/nodename/facts/packages

я могу видеть только строку!

Может кто-нибудь помочь пожалуйста. Есть идеи?

Благодаря Танер

ответ

0

я узнал puppetdbv3 показать факты всегда в виде строки и puppetdbv4 не. Я тестировал снова на моем puppetserver, и я мог получить доступ к своему хешу -> пакеты обычно.

Отношения Taner