当执行puppet agent
从一个新的图像调用,我得到一个err: Could not find class custommod
错误。该模块本身/etc/puppet/modules/custommod
与我们要调用的所有其他模块相同,但是这个模块是固定的。
[site.pp]
node /clunod-wk\d+\.sub\.example\.local/ {
include base
include curl
include custommod
class{ "custommod::apps": frontend => "false}
[...]
}
当使用调试输出运行puppetmaster时,它会清楚地找到有关base和curl的信息:
debug: importing '/etc/puppet/modules/base/manifests/init.pp' in environment production
debug: Automatically imported base from base into production
debug: importing '/etc/puppet/modules/curl/manifests/init.pp' in environment production
debug: Automatically imported curl from curl into production
err: Could not find class custommod for clunod-wk0130.sub.example.local at /etc/puppet/manifests/site.pp:84 on node clunod-wk0130.sub.example.local
84行是 include custommod
缩写的目录和文件结构:
/etc/puppet
|- manifests
| |- site.pp
|
|- modules
|- base
| |- manifests
| |- init.pp
|
|- curl
| |- manifests
| |- init.pp
|
|- custommod
|- files
| |- apps
| |- [...]
|
|- manifests
|- init.pp
|- apps.pp
我确实检查过拼写:}
含量init.pp
在custommod目录是完全不值一提:
class custommod {
}
目的是为apps.pp文件创建一个空类,这是其中的肉。
class custommod::apps {
[lots of stuff]
}
只是,它永远不会到达apps文件。如果我注释掉include custommod
,则会class{ "custommod::apps": frontend => "false}
在行上生成上述错误。
在寻找这种错误是如何产生的过程中,我缺少什么?我需要注意的是,如果此回购通过本地运行,则效果很好puppet apply
。
could not retrieve catalog from remote server:
错误,这可能是原因。
custommod
-甚至可以尝试init.pp
将其完全删除,因为它不需要。
strace
它,并试图弄清楚它试图以此方式读取哪些文件。