2

所以我有一个要运行的 puppet manifest 目录。

是否可以执行以下操作:包括 /etc/puppet/users/server522/*.pp 并让 puppet 运行它们?

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

我总是收到关于 puppet 找不到它的错误。

有没有办法做到这一点?

4

3 回答 3

1

所以我对此的最终解决方案是编写一个脚本,该脚本将获取目录列表,并为每个 .pp 文件添加一个包含到 server522.pp 文件中。puppet 不会包含整个目录,这很烦人。

于 2012-10-25T20:28:32.260 回答
0

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

于 2012-06-08T03:18:15.690 回答
0

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

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

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

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

于 2013-03-01T20:13:46.403 回答