我在puppet.conf
configuration了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
但不包含manifest
或modulepath
条目。
模块和清单path在环境目录的根目录下的environment.conf中定义:
manifest = manifests/ modulepath = modules:site
至于代理,我修改了节点上的puppet.conf
来指定环境,但是你所说的参数应该可以工作(它清楚地告诉代理根据你提供的错误使用哪个环境)。