我尝试使用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, }