我在ubuntu 14.4 VM上安装了puppet master。 Puppet代理如Windows 8。
这是我的site.pp文件。
package { 'git' :
ensure => present,
}
vcsrepo { "C:\\GitCode":
ensure => present,
provider => git,
source => "git://<url>.git",
}
它只需从 url 下载代码并将其放入 C:\ GitCode 。我在master上安装了git
和vcsrepo
个包。
在Windows上运行Agent时出现以下错误:
Running Puppet agent on demand ...
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for <certname>
Warning: Found multiple default providers for vcsrepo: dummy, p4; using dummy
Info: Applying configuration version '1436188748'
Error: The source parameter is required when using the Windows provider.
Error: /Stage[main]/Main/Package[git]/ensure: change from absent to present failed: The source parameter is required when using the Windows provider.
Error: /Stage[main]/Main/Vcsrepo[C:\GitCode]: Provider git is not functional on this host
Notice: Finished catalog run in 2.05 seconds
Press any key to continue . . .
答案 0 :(得分:2)
所以这里有很多事情要发生。首先是木偶没有安装git。您需要提供一个安装源,因为代理是一个Windows框。所以这意味着下载git的安装程序exe并将其放在模块的files子目录中。
package { 'git' :
ensure => present,
source => 'puppet:///{yourmodule}/Git-1.8.1.2-preview20130201.exe',
}
一旦在代理上正确安装了git,vcsrepo将使用正确的提供程序(即-git)并拉出你的git repo。