
Я пытаюсь использовать Chocolatey (http://chocolatey.org) в качестве поставщика пакетов для Puppet, но я постоянно получаю эту ошибку при запуске агента Puppet на моем компьютере с Win 7.
info: Caching catalog for ldap-windows-vm.localdomain
err: Failed to apply catalog: Parameter provider failed: Invalid package provide
r 'chocolatey' at /etc/puppet/environments/beta/modules/stormaas/manifests/init.
pp:9
Я разместил этот модуль,https://github.com/rismoney/puppet-chocolateyв моем каталоге modules/ на главном сервере Puppet я установил параметр pluginsync в значение true как на главном, так и на подчиненном сервере, и уже использую несколько импортированных типов, которые работают с той же настройкой.
Вызов пакета с помощью:
package { 'stormaas':
ensure => installed,
provider => 'chocolatey',
}
Я пробовал устанавливать для обоих поставщиков значения «chocolatey» и «chocolatey» на случай, если проблема была в кавычках, перезапускал как главный, так и подчиненный серверы при каждом изменении и запускал агент несколько раз, чтобы убедиться, что он обновлен.
Все остальные аспекты модуля, применяемого к машине, работают, но не это.
Есть предположения?
решение1
На самом деле это похоже на ошибку Puppet — я использую динамические среды, поэтому мой модуль изначально был помещен в /etc/puppet/environments/beta/chocolatey/, но когда я переместил модуль в /etc/puppet/modules, все заработало.
Интересно, что пользовательские типы работали нормально в этой среде, но пользовательские поставщики не смогли синхронизироваться.
Похоже, модуль работает отлично. Возможно, есть несколько странностей. Если я их обнаружу, я исправлю их и отправлю запрос на включение изменений.
решение2
Как только вы разберетесь с проблемами с modulepath, вот еще некоторая информация, связанная с другими проблемами, которые могут возникнуть, и способами их решения.
Поставщик Chocolatey (теперь находится по адресушоколадный/шоколадный), требует установки самого Chocolatey. С момента выпускаверсия 1.1.0, поставщик фактически будет заниматься установкой Chocolatey. Вам просто нужно добавить следующее где-нибудь в ваших манифестах:
include chocolatey
Если вы хотите узнать больше о сценариях, связанных с шоколадным классом, вы можетесм. доступные параметры в ReadMe. Пример включен:
class {'chocolatey':
chocolatey_download_url => 'https://internalurl/to/chocolatey.nupkg',
choco_install_location => 'D:\secured\choco',
use_7zip => false,
choco_install_timeout => 2700,
enable_autouninstaller => true,
}