我正在与Puppet一起开始旅程。
我在RHEL 6.0上安装了独立的木偶(没有主人/代理,只是独立)
Puppet版本是4.5.2
我创建了一个模块/opt/puppetlabs/puppet/modules/common/manifests/init.pp
为
class user {
user { 'wasadmin':
ensure => present,
comment => 'wasadmin user',
home => '/home/wasadmin',
managehome => true
}
}
我的site.pp
在此/opt/puppetlabs/puppet/manifests/site.pp
node "CI-TEST-POC" {
include user
}
modulepath = /etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
当我使用和不使用--modulepath
执行时,我仍然会收到相同的错误
root@CI-TEST-POC manifests# puppet apply site.pp
Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::user for ci-test-poc.corp.aal.au at /opt/puppetlabs/puppet/manifests/site.pp:2:4 on node ci-test-poc.corp.aal.au
root@CI-TEST-POC manifests# puppet apply site.pp --modulepath ../modules
Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::user for ci-test-poc.corp.aal.au at /opt/puppetlabs/puppet/manifests/site.pp:2:4 on node ci-test-poc.corp.aal.au
答案 0 :(得分:3)
我创建了一个模块/opt/puppetlabs/puppet/modules/common/manifests/init.pp
class user {
问题在于此,因为Puppet要求清单的布局与其中的类/定义的名称相匹配,以帮助它快速正确地找到正确的文件。
对于user
课程,应在/opt/puppetlabs/puppet/modules/user/manifests/init.pp
中定义。