将木偶安装过渡到使用目录环境需要什么?

我目前正在运行一个小木偶大师+客户端configuration,不利用Puppet的目录环境function。 我的木偶版本是3.6。

我已经尝试了以下内容:

  1. 在傀儡大师:添加environmentpath=$confdir/environments puppet.conf
  2. 在puppet master上:在$confdir/environments/ (例如/etc/puppet/environments/production )中创build必要的path,
  3. 将我现有的模块和清单( site.pp )添加到生产环境中
  4. 切换到这个git分支,并在客户端运行testingpuppet 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 。 这是有缺陷的逻辑?

我根据木偶实验室指南进行了转换。

为了后代的缘故,我发现了这个问题:

我犯了两个简单的错误:

  1. 我没有重新启动puppetmaster(通过乘客)。 在Debian Wheezy上,通过service apache2 restart ,很容易实现

  2. 重新启动后,我收到一个新的错误stream,指出重新加载木偶的问题。 包含相关信息的日志文件最终在所有地方的/var/log/syslogfind。

  3. 日志显示了对/etc/puppet/manifests权限问题。 事实certificate,git删除空文件夹,因为我已经迁移我的site.pp/etc/puppet/environments/production/manifests/site.pp删除/etc/puppet/manifests文件夹,抛出错误。

  4. 我通过向/etc/puppetmanifests文件夹添加一个空的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等位于全局模块目录中。