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

Использование 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',
  }

Я пробовал устанавливать для обоих поставщиков значения «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,
}

Связанный контент