1

有没有办法将文件从同一域(mydom.org)中的另一个(bar)复制到一个主机(foo),它们都不是 puppet-server,但它们都运行了puppetd?我正在寻找类似于cfengine 副本中的服务器方法的东西,其中可以为源文件提供服务器名称。这是我尝试过但失败的方法:

 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 ...." 
4

1 回答 1

1

不幸的是,只有 Puppet 无法做到这一点。Puppet 代理进程能够侦听和接受连接,但它们不像 puppet master 那样实现文件服务器。puppet 代理的侦听行为旨在用于puppet kick功能,从 Puppet 3.0 开始不推荐使用,而支持 MCollective。

于 2012-10-27T17:50:49.747 回答