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

Vagrant/Puppet设置中的文件遍历和读取失败,vagrant,puppet,Vagrant,Puppet,我设置了一个Vagrant/Puppet,试图生成一组配置文件,然后将它们连接到主文件中 生成各个文件并将其写入conf目录,最后一个操作是创建主文件,该主文件使用erb模板读取conf目录中的文件 <% files = Dir["/etc/sysconfig/iptables/conf/*.conf"] -%> <% files.each do |name| -%> <% file = File.open(name) -%> <% contents =

我设置了一个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 -%>

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

如果我ssh到vagrant并手动运行“puppet apply”,那么主配置文件将按预期创建。我曾尝试使用bash脚本而不是erb方法,但遇到了相同的问题


有人知道这是什么原因吗?

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


你看过模块了吗?这可能会使您的任务很快完成。

我不知道为什么它会失败,但我会尝试使用“cat/etc/sysconfig/iptables/conf/*.conf>$somefile”编写exec,谢谢Felix-我会研究它