Puppet如何在目录中运行所有清单

时间:2012-06-01 14:56:39

标签: puppet

所以我有一个我想要运行的木偶清单目录。

是否可以执行以下操作:     包括/etc/puppet/users/server522/*.pp 傀儡跑了吗?

我试过了     包括users :: server522 :: * 和其他几个变种

我总是得到一个关于木偶无法找到它的错误。

有没有这样做?

3 个答案:

答案 0 :(得分:1)

所以我的最终解决方案是编写一个脚本来获取目录列表,并为每个.pp文件添加一个include到server522.pp文件中。非常讨厌木偶不会包含整个目录。

答案 1 :(得分:0)

你想在这做什么,你确定你正确地做到了吗?也就是说,如果您有多个与多个服务器对应的清单,则需要为每个服务器定义节点。如果OTOH你试图将多个清单应用于单个节点,则不清楚为什么要这样做,而不是仅仅使用你定义的类。更多信息在这里会有所帮助。

答案 2 :(得分:0)

我没有看到每个用户都有自己的清单。我宁愿创建一个自动构建一个清单文件的脚本,它基于来自某些源的数据,例如来自包含CSV文件和当前用户列表的git存储库的HEAD。

如果你真的想为每个用户使用单独的清单文件,你可以考虑为每个用户设置seprate模块:

manifests
  default.pp <-- here comes default manifest
  module_for_user_foo/
    manifests/
      init.pp <-- here comes your 'foo' user
  module_for_user_bar/
    manifests/
      init.pp <-- here comes your 'bar' user

现在您可以复制包含清单的模块。