forman 和 puppet 的执行资源的默认路径

forman 和 puppet 的执行资源的默认路径

我正在使用 Foreman (1.4) 和 Puppet (3.4.3)。我大约 4 周前才开始使用 Foreman 和 Puppet,所以我还很新。

我想要做的是设置 exec 资源的默认路径。根据许多指南如果您使用没有 Foreman 的 Puppet,这不是问题,因为您可以将其放入您的site.pp.

我的site.pp解读如下:

# Empty site.pp required (puppet #15106, foreman #1708)

我尝试过一些事情,比如把它放在课堂上

  • 在我使用 exec 资源的任何类中包含该类
  • 将该类包含在最顶层主机组中
  • 将类包含在宿主中(显式)

什么都没起作用。

有效的方法是将定义放在我想要使用一些 exec 资源的类中,但这基本上与为每个 exec 定义路径相同。

此外,这也适用于文件资源,它们应该有默认忽略,例如ignore => '.svn'

所以我的问题是,有没有办法用 Foreman 做这样的事情?我很乐意用 Foreman 和 Puppet“按原样”解决这个问题。

答案1

正如我们在评论中讨论的那样。只需将您的Exec默认设置放入您的 site.pp 中即可。

Foreman 创建的任何空的 site.pp 都是因为它必须存在,否则会出现错误。只有当文件不存在时才会创建该文件。否则不会修改文件的内容。

https://github.com/theforeman/puppet-puppet/blob/master/manifests/server/config.pp

# make sure your site.pp exists (puppet #15106, foreman #1708)
file { "${puppet::server_manifest_path}/site.pp":
  ensure  => present,
  replace => false,
  content => "# Empty site.pp required (puppet #15106, foreman #1708)\n",
  mode    => '0644',
}

相关内容