Vagrant / Puppet设置中的文件遍历和读取失败

时间:2015-01-26 12:52:06

标签: vagrant puppet

我设置了Vagrant / Puppet,我试图生成一堆配置文件,然后将它们连接成主文件。

生成单个文件并将其写入conf目录,最后一个操作是创建主文件,该文件使用erb模板读取conf目录中的文件。

<% files = Dir["/etc/sysconfig/iptables/conf/*.conf"] -%>
<% files.each do |name| -%>
<% file = File.open(name) -%>
<% contents = file.read -%>
<%= contents %>
<% end -%>

当我运行&#34; vagrant up&#34;时,一切似乎都正常运行但主配置文件为空。我已经检查了conf目录和主配置文件中的时间戳,它们是正确的(在所有单独的配置文件之后创建主配置文件)。

如果我闯入流浪汉并且跑步&#34;木偶申请&#34;手动,主配置文件按预期创建。我尝试使用bash脚本而不是erb方法,但遇到了同样的问题。

有没有人有什么想法会导致这个?

1 个答案:

答案 0 :(得分:2)

Puppet在清单编译时扩展模板。您尝试连接的内容仅在目录应用程序时可用。

你看过concat模块了吗?这可能会使你的任务变得简短。