在独立人偶中找不到模块

modules not found in standalone puppet

我将开始与 Puppet 的旅程。

我已经在 RHEL 6.0 上安装了独立的 puppet(否 master/agent,只是独立的)

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

I have created a module /opt/puppetlabs/puppet/modules/common/manifests/init.pp as

class user {

问题出在这里,因为 Puppet 要求清单的布局与其中 classes/defines 的名称相匹配,以帮助它快速正确地找到正确的文件。

对于你的userclass,应该定义在/opt/puppetlabs/puppet/modules/user/manifests/init.pp.