使用Chocolatey作为Puppet的包提供者

我尝试使用Chocolatey( http://chocolatey.org )作为Puppet的包提供者,但是在我的Win 7框上运行Puppet代理时,我不断得到这个错误。

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 ,放在我的Puppet master的modules /目录中,我的pluginsync在master和slave上设置为true,而且已经使用了一些导入的types正在使用相同的设置。

通过以下方式调用软件包:

  package { 'stormaas': ensure => installed, provider => 'chocolatey', } 

我已经尝试将提供程序设置为'巧克力'和巧克力以防万一是引号问题,并且在每次更改时都重新启动主服务器和从服务器,并多次运行代理程序以确保刷新。

正在应用于机器的模块的所有其他方面的工作 – 只是不是这个。

有什么想法吗?

这看起来实际上是一个Puppet错误 – 我使用dynamic环境,所以我的模块最初被放置在/ etc / puppet / environments / beta / chocolatey /下,但是当我将模块移动到/ etc / puppet / modules时,工作。

有趣的是自定义types在环境中工作正常 – 但自定义提供程序无法同步。

模块看起来很棒 – 可能会有一些怪癖,如果我遇到任何问题,我会修补它,并提交一个拉请求。

一旦你解决了modulepath的问题,下面是一些可能出现的其他问题以及如何解决这些问题的更多信息。

巧克力供应商(现在位于巧克力/巧克力店 )需要安装巧克力本身。 自v1.1.0发布以来,提供者将确保巧克力的安装。 您只需要在您的清单中添加以下内容:

 include chocolatey 

如果你想进入更多与巧克力类相关的场景,你可以在自述中看到可用的参数 。 包括的例子:

 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, }