这个问题有很多帖子和解决方案,但我仍然无法解决。 我正在使用木偶3.7.5
以下是详情
root@p1:/etc/puppet/manifests# ls -l
total 8
-rw-r--r-- 1 root root 40 Apr 9 12:37 nodes.pp
-rw-r--r-- 1 root root 18 Apr 9 11:58 site.pp
root@p1:/etc/puppet/manifests# cat nodes.pp
node 'wa.ro.XXX' {
include mytest
}
root@p1:/etc/puppet/manifests# cat site.pp
import 'nodes.pp'
模块路径
root@p1:/etc/puppet/manifests# puppet master --configprint modulepath
/etc/puppet/modules:/usr/share/puppet/modules
root@p1:/etc/puppet# tree -L 2 -d modules
modules
- configfiles
-- files
-- manifests
- services
-- files
-- manifests
root@p1:/etc/puppet# cat modules/services/manifests/init.pp
class mytest {
file { '/tmp/puppettestfgt56666' :
mode => 0644,
content => "This Learning Puppet VM's IP address is ${ipaddress}",
}
}
代理
root@wa:/var/cache# puppet agent --no-daemonize --onetime --verbose
Info: Retrieving plugin
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class mytest for wa.ro.XXX on node wa.ro.XXX
Notice: Using cached catalog
Info: Applying configuration version '1428561896'
Notice: Finished catalog run in 0.07 seconds
答案 0 :(得分:3)
类mytest
只能在模块mytest
中找到。你不能把它扔进模块services
并期望Puppet能够从那里查找它。