为什么Puppet代理不能识别环境?

我在puppet.confconfiguration了dynamic环境,例如:

  modulepath = $confdir/environments/$environment/modules manifest = $confdir/environments/$environment/site/manifests/site.pp environmentpath = /etc/puppetlabs/puppet/environments 

我的environments目录具有manifest/site.pp文件和modules目录的环境。

然而,当我运行代理sudo puppet agent --test --environment=test我得到以下错误(我没有在代理的puppet.conf文件中设置production环境):

Warning: Local environment: "test" doesn't match server specified node environment "production", switching agent to "production".

它只适用于生产环境的模块。

我正在使用木偶企业3.7.3。

所以事实certificate,因为我使用的是PE版本,节点被自动分类到production环境中,因此是问题所在。 将环境更改为分类部分中agent-specified

我没有解释,但我有3.73和使用环境没有问题。 我的puppet.conf文件包含: environmentpath=$confdir/environments但不包含manifestmodulepath条目。

模块和清单path在环境目录的根目录下的environment.conf中定义:

 manifest = manifests/ modulepath = modules:site 

至于代理,我修改了节点上的puppet.conf来指定环境,但是你所说的参数应该可以工作(它清楚地告诉代理根据你提供的错误使用哪个环境)。