Trying to run puppet yield "Error: Could not find class"
Trying to run puppet yield "Error: Could not find class"
首先,老实说,我对 Puppet 世界还很陌生。我正在尝试为我的服务器构建一个人偶脚本。
这是我的木偶结构的样子 -
.
|-- environments
| `-- example_env
| |-- manifests
| |-- modules
| `-- README.environment
|-- manifests
| |-- node.pp
| `-- site.pp
|-- modules
| |-- nginx
| | `-- manifests
| | `-- nginx.pp
| |-- sudoers
| | |-- files
| | | `-- sudoers
| | `-- manifests
| | `-- sudoers.pp
| `-- users
| `-- manifests
| `-- users.pp
|-- puppet.conf
`-- templates
这是我的 node.pp
和 site.pp
的样子。
# /etc/puppet/manifests/node.pp
node werain {
include sudoers
}
和
# etc/puppet/manifests/site.pp
import 'node.pp'
最后我的 sudoers.pp
文件看起来像这样。
# /etc/puppet/modules/sudoers/manifests/sudoers.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}
任何线索我做错了什么。
我是运行这样的puppet
命令。
puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules/
我的 puppet
版本是 3.8.4
您有一个名为 sudoers
的模块,其中有一个同名的 class。 Puppet 将在 modules/sudoers/manifests/init.pp
中查找 class 的定义,但您已将其放入 modules/sudoers/manifests/sudoers.pp
中。后者是 Puppet 寻找名为 sudoers::sudoers
.
的 class 的地方
首先,老实说,我对 Puppet 世界还很陌生。我正在尝试为我的服务器构建一个人偶脚本。
这是我的木偶结构的样子 -
.
|-- environments
| `-- example_env
| |-- manifests
| |-- modules
| `-- README.environment
|-- manifests
| |-- node.pp
| `-- site.pp
|-- modules
| |-- nginx
| | `-- manifests
| | `-- nginx.pp
| |-- sudoers
| | |-- files
| | | `-- sudoers
| | `-- manifests
| | `-- sudoers.pp
| `-- users
| `-- manifests
| `-- users.pp
|-- puppet.conf
`-- templates
这是我的 node.pp
和 site.pp
的样子。
# /etc/puppet/manifests/node.pp
node werain {
include sudoers
}
和
# etc/puppet/manifests/site.pp
import 'node.pp'
最后我的 sudoers.pp
文件看起来像这样。
# /etc/puppet/modules/sudoers/manifests/sudoers.pp
class sudoers {
file { '/etc/sudoers':
mode: '0400',
source: 'puppet:///modules/sudoers/sudoers',
owner: 'root',
group: 'root'
}
}
任何线索我做错了什么。
我是运行这样的puppet
命令。
puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules/
我的 puppet
版本是 3.8.4
您有一个名为 sudoers
的模块,其中有一个同名的 class。 Puppet 将在 modules/sudoers/manifests/init.pp
中查找 class 的定义,但您已将其放入 modules/sudoers/manifests/sudoers.pp
中。后者是 Puppet 寻找名为 sudoers::sudoers
.