我目前正在运行一个小木偶大师+客户端configuration,不利用Puppet的目录环境function。 我的木偶版本是3.6。
我已经尝试了以下内容:
environmentpath=$confdir/environments puppet.conf $confdir/environments/ (例如/etc/puppet/environments/production )中创build必要的path, site.pp )添加到生产环境中 puppet agent -vt 不幸的是,我收到以下错误:
Info: Retrieving pluginfacts Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/pluginfacts Info: Retrieving plugin Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve information from environment production source(s) puppet://puppet/plugins Notice: /File[/var/lib/puppet/lib/puppet]: Dependency File[/var/lib/puppet/lib] has failures: true
木偶运行不会失败,但在完成之前滚动类似于此的错误。
将当前configuration(模块和清单)复制到新的production环境中的思想stream程是,所有客户端的默认$environmentvariables都设置为production 。 这是有缺陷的逻辑?
我根据木偶实验室指南进行了转换。
为了后代的缘故,我发现了这个问题:
我犯了两个简单的错误:
我没有重新启动puppetmaster(通过乘客)。 在Debian Wheezy上,通过service apache2 restart ,很容易实现
重新启动后,我收到一个新的错误stream,指出重新加载木偶的问题。 包含相关信息的日志文件最终在所有地方的/var/log/syslogfind。
日志显示了对/etc/puppet/manifests权限问题。 事实certificate,git删除空文件夹,因为我已经迁移我的site.pp到/etc/puppet/environments/production/manifests/site.pp删除/etc/puppet/manifests文件夹,抛出错误。
我通过向/etc/puppet的manifests文件夹添加一个空的site.pp来修复#3
我相信3.6 puppet使用目录环境,所以不要在puppet.conf中configuration它们,只要在环境下创build目录。 我想你可以使用: https : //docs.puppetlabs.com/puppet/latest/reference/environments_configuring.html
这是微妙的不同。 我也使用ENC,工头,所以这可能会有所不同,但您可能需要在全局模块目录中有site.pp,而不是在您的环境中。 我们只在我们的环境中有我们的模块,而site.pp等位于全局模块目录中。