我已经在 ubuntu 14.04 服务器上安装了 foreman。
现在存在以下问题:
我安装了许多 puppetlab 模块(puppetlabs/apt、puppetlabs/ntp 等)。单击“从...导入”后,我能够导入这些 puppet 类。
现在我已经编写了自己的 puppet 模块。我可以使用以下命令安装它:
puppet module install andlinger-java
现在我再次单击“从...导入”,但它显示“未检测到您的环境变化”。
我的模块有什么问题?
所有模块都安装在同一路径下。/etc/puppet/environments/production/modules/
答案1
该模块有语法错误,因此 Foreman 的代理无法解析它以报告其中的类。运行 Puppet 的验证器以查看以下内容:
$ find . -name *.pp -exec puppet parser validate {} +
Error: Could not parse for environment production: All resource specifications require names; expected '%s' at andlinger-java-1.0.1/manifests/init.pp:17
有问题的行应该使用大写字母“exec”来表示资源默认值:
Exec{user => root, path => [ "/bin", "/usr/bin" ]}