有没有办法将文件从同一域(mydom.org)中的另一个(bar)复制到一个主机(foo),其中两个都不是puppet-server,但它们都有 puppetd 正在运行?我正在寻找与 cfengine copy 中的 server 方法类似的东西,其中可以为源文件提供服务器名称。这是我尝试过和失败过的事情:
node 'foo.mydom.org' inherits default {
include foo_class::setup
}
foo_class :: setup在puppet-server节点的modules / foo_class / setup.pp中定义。
class foo_class::setup {
file {
"etc_passwd_file" :
path => "/etc/passwd",
source => "puppet://bar.mydom.org//${path_to_file}",
}
}
运行时
puppet --noop --server=puppet --no-daemonize --verbose --onetime
我收到错误:
" ..... Could not evaluate: Could not retrieve information from environment production source(s) puppet://bar.mydom.org//${path_to_file} at /etc/puppet/modules/foo_class/manifests/setup.pp ...."
答案 0 :(得分:1)
不幸的是,只有Puppet才能做到这一点。 Puppet代理进程能够侦听和接受连接,但它们不像puppet master那样实现文件服务器。 puppet agent的侦听行为适用于puppet kick
功能,从Puppet 3.0开始不赞成使用MCollective。