puppet在所有服务器上执行远程脚本

我怎么能在所有木偶客户端上执行一个python脚本。

我已经添加了一个类来执行脚本

class curp { exec { "/usr/src/scripts/curp.py": } } 

并将其包含在nodes.pp中

但是当我在远程客户端上执行,它说文件不能被发现?

 #client:# /usr/sbin/puppetd --test --server=puppetmasterserver notice: //chkconfig/Package[vsftpd]/ensure: created err: //curp/Exec[/usr/src/scripts/curp.py]/returns: change from notrun to 0 failed: Could not `find executable /usr/src/scripts/curp.py` 

更多版本:

我已经通过创build文件服务器来修复了configuration文件,

 class curp { file { '/opt/files/curp.py': ensure => present, owner => 'root', group => 'root', mode => '0755', source => 'puppet:///modules/files/curp.py', } exec { '/opt/files/curp.py': require => File['/opt/files/curp.py'] } 

}

但脚本失败,依赖,我无法find其他地方的日志,以什么是相关的…

 err: //curp/File[/opt/files/curp.py]: Failed to retrieve current state of resource: Could not retrieve information from source(s) puppet:///modules/files/curp.py at /etc/puppet/manifests/templates.pp:114 notice: //curp/Exec[/opt/files/curp.py]: Dependency file[/opt/files/curp.py] has 1 failures warning: //curp/Exec[/opt/files/curp.py]: Skipping because of failed dependencies 

有任何想法吗?

解决:

问题是/ opt / files在客户端服务器上不存在,它在远程目录可用时工作

错误:

无法检索资源的当前状态:无法从源(s)检索信息

意味着傀儡无法从傀儡大师那里检索到这个文件。 第二个错误是因为如果无法检索文件,它将不会尝试执行该文件。

我认为你会发现这个网页有用,因为你学习puppet: http : //bitcube.co.uk/content/puppet-errors-explained你打这里的错误是该页面上的第一个。 它还有更多关于木偶预计文件位置的信息。 这些URL不一定直接与文件系统path相匹配。

通常,在debugging错误消息时,首先修复第一个错误消息。 稍后的错误信息是由较早的错误信息引起的。

你应该使用推荐的目录结构,如下所示:

 |-- environments | |-- development | | `-- modules | `-- testing | `-- modules |-- manifests | |-- defines | | `-- netinstall.pp | |-- nodes.pp | `-- site.pp |-- modules | |-- python | | |-- files | | |-- manifests | | `-- templates 

把你的类放入modules/python/manifests ,将curp.py放到modules/python/files ,并使用下面的source

 source => 'puppet:///modules/python/curp.py', 

你必须添加一个文件语句:

file {“curp”:name =>“/usr/src/scripts/curp.py”,ensure => file,source =>“puppet:///modules/your_module/curp.py”}

class curp {exec {“/usr/src/scripts/curp.py”:} require => {File [“curp”]},}

这意味着文件将文件发送到所有使用该模块的木偶节点。