来自puppet-server以外的主机的puppet远程复制文件

时间:2012-10-26 12:10:22

标签: ruby puppet

有没有办法将文件从同一域(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 ...." 

1 个答案:

答案 0 :(得分:1)

不幸的是,只有Puppet才能做到这一点。 Puppet代理进程能够侦听和接受连接,但它们不像puppet master那样实现文件服务器。 puppet agent的侦听行为适用于puppet kick功能,从Puppet 3.0开始不赞成使用MCollective。