我正在使用puppet在云基础架构上自动配置服务器.我将我的清单分成几个.pp's.
我有以下错误:
找不到依赖项Mehc_module :: Filestructure :: File [/ someFolder/someSubFolder]
相关部分:
filestructure.pp
class mehc_module::filestructure{
file {
"/someFolder/someSubFolder":
ensure => link,
owner => $mehc_module::users::WEBLOGIC_UID,
group => $mehc_module::users::WEBLOGIC_GID,
target => "/opt/user_projects",
require => UserDefinedFolder["/someFolder"];
}
Run Code Online (Sandbox Code Playgroud)
packages.pp
class mehc_module::packages{
require mehc_module::filestructure
...
mehc_repo::package { "${common11rpm}" :
ensure => present,
require => [
Mehc_module::Filestructure::File["/someFolder/someSubFolder"]
];
}
}
Run Code Online (Sandbox Code Playgroud)
为什么它会给我错误?
您的资源引用结构不正确.你只是想
require => File["/someFolder/someSubFolder"]
Run Code Online (Sandbox Code Playgroud)
资源引用不考虑清单上下文.即使他们愿意,资源的"完整路径"也是如此Class[mehc_module::filestructure]/File["/someFolder/someSubFolder"].但这也行不通.
普通File["/someFolder/someSubFolder"]引用就足够了,因为每个资源只能在整个清单中定义一次(包括所有模块).
请注意,这通常是一种更好的做法
require => Class["mehc_module::filestructure"]
Run Code Online (Sandbox Code Playgroud)
因为这将暗示上述关系("依赖于在类中声明的所有资源")而不会将mehc_module::packages实现细节与实现细节相关联mehc_module::filestructure.
此规则的一个值得注意的例外是,您依赖的类声明了大量资源,从而导致图形复杂性(具有性能影响),以及依赖循环的危险性增加.该锚纹有助于这些情况.
| 归档时间: |
|
| 查看次数: |
5376 次 |
| 最近记录: |