«марионеточный агент-t» выдает ошибку: Фактор: ошибка при разрешении пользовательских фактов …/packages_of_interest.rb: неопределенная локальная переменная или метод «пакет»

#puppet

Вопрос:

ПРОБЛЕМА:
Это результат работы puppet agent-t

 Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Error: Facter: error while resolving custom facts in /opt/puppetlabs/puppet/cache/lib/facter/packages_of_interest.rb: undefined local variable or method `package' for main:Object
Did you mean?  packages
Info: Caching catalog for server.com
Info: Applying configuration version '1606329246'
Notice: Applied catalog in 1.40 seconds
 

Комментарии:

1. Я получил -2 очка репутации за этот вопрос. Об обратной связи почему не может быть и речи?

Ответ №1:

Глядя на подпрограмму в packages_of_interest.rb, замените пакет на «соответствующий пакет», чтобы избавиться от этой ошибки.

Добавление имени пакета в сообщение об ошибке показывает, какой пакет. Я изменил строку 57

От

       puts "unknown provider passed (#{package[:provider]})"
 

Для

       puts "unknown provider passed (#{matching_package[:provider]}) for package (#{matching_package[:name]})"
 

Агент заменяет этот файл, поэтому скопируйте измененный файл на место, как только агент скажет, что он обновляет package_of_interest.rb

Теперь это сообщение об ошибке:

«неизвестный поставщик передал (pip2) для пакета (javapackages)»

даже несмотря на то, что pip2 существует в системе

Это сообщение pip2 похоже на ошибку. К счастью, агент завершает работу с предупреждением вместо ошибки.