Использование Chocolatey в качестве поставщика пакетов для Puppet

Я пытаюсь использовать 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',
  }

Я попытался с обоими провайдерами, настроенными на "шоколадный" и "шоколадный", на случай, если это была проблема с кавычками, и перезапускал как главный, так и подчиненный при каждом изменении и запускал агент несколько раз, чтобы убедиться, что он обновлялся.

Все остальные аспекты модуля, который применяется к машине, работают - только не это.

Какие-нибудь мысли?

2 ответа

Решение

На самом деле это ошибка Puppet - я использую динамические среды, поэтому мой модуль изначально был помещен в / etc / puppet / environment / beta / chocolatey /, но когда я переместил модуль в / etc / puppet / modules, он работал.

Что интересно, так это то, что пользовательские типы хорошо работали в среде, но пользовательские поставщики не смогли синхронизироваться.

Кажется, модуль работает отлично - возможно, будет несколько причуд, если я столкнусь с любым из них, я исправлю его и отправлю запрос на извлечение.

Как только вы преодолеете проблемы с modulepath, вот еще немного информации, связанной с другими проблемами, которые могут возникнуть, и способы их решения.

Поставщик Chocolatey (в настоящее время расположенный в chocolatey / chocolatey) требует установки самого Chocolatey. Начиная с выпуска v1.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,
}
Другие вопросы по тегам