Foreman:如何测试/呈现配置模板

Foreman:如何测试/呈现配置模板

我在测试虚拟机中安装了 Foreman,我想创建一些自定义 kickstart 文件。我知道 Foreman 在主机创建期间会呈现模板。但如果出现错误、类型、缺少变量等,安装就会失败。

那么,如何在不实际尝试安装新虚拟机的情况下测试我的模板?

显然,每次我想更改模板或代码片段时都启动一个新的构建是适得其反的。

答案1

模板编辑器上方是一个小预览按钮 - 选择它,然后从右侧的下拉菜单中选择您想要为其呈现模板的主机。

需要具有相同操作系统的托管主机,因此必须在预览模板之前创建它(通过以下方式进行配置设置新主人,不是通过 Puppet 或事实上传创建的。)

模板的渲染版本将显示如下:

编辑配置模板并进行预览

选择输入再次单击选项卡,您就可以返回编辑模板。这一切都无需保存 + 重新访问编辑页面。预览渲染的模板时不会保留任何更改,只有保存时才会保留。

另请参阅Foreman 1.9 发布亮点 - 模板预览观看展示该功能的简短截屏视频。

答案2

检查语法是否正确

erb -P -x -T '-' template.erb | ruby -c

要查看模板中写入的内容比较复杂,但您可以查看完成此 ruby​​ 脚本

require 'erb'
require 'ostruct'

class ErbalT < OpenStruct
  def render(template)
    ERB.new(template).result(binding)
  end
end

et = ErbalT.new({ :kernel => '4.8.4', 'os' => 'Linux' })
puts et.render(File.read(PATH_TO_TEMPLATE)) 

根据您想要测试的模板,您需要将所有预期的变量作为参数发送。

还有一个针对 erb 模板的答案 - 请参阅https://stackoverflow.com/questions/8954706/render-an-erb-template-with-values-from-a-hash

相关内容