Puppet 代理不使用模块路径设置

Puppet agent not using modulepath setting

我已经在 AWS Ubuntu 机器上安装了 Puppet Agent 3.7。

在收到 'could not find class' 错误后,我在 /etc/puppetlabs/puppet/puppet.conf 文件中添加了一个 modulepath 条目.

模块路径=/home/ubuntu/repos/puppet-tests/modules

但是,如果我 运行 下面的命令,我被告知模块路径没有改变。

puppet apply --configprint modulepath

/home/ubuntu/.puppet/modules:/usr/share/puppet/modules

我尝试在 [main][agent][=36 中放置 modulepath 设置=] 部分。

有谁知道我做错了什么吗?

非常感谢。

puppet confdir 依赖于执行 puppet 命令的用户。这就是为什么木偶配置会因不同的用户而异。请阅读有关 confdir location 的文档,并检查以下示例:

vagrant@mytest:~$ puppet apply --configprint modulepath
/home/vagrant/.puppet/modules:/usr/share/puppet/modules

vagrant@mytest:~$ sudo su 
root@mytest:/home/vagrant# puppet apply --configprint modulepath
/etc/puppet/modules/lib:/etc/puppet/modules:/opt/puppet/share/puppet/modules

总结,以 root 身份执行 puppet,或在 ~/.puppet 目录中为非 root 用户修改 puppet 配置。