工头:如何testing/呈现configuration模板

我已经在testing虚拟机中安装了Foreman,我想创build一些自定义的kickstart文件。 据我所知,Foreman在主机创build过程中呈现模板。 但是如果发生错误,键入,缺less的variables等,安装失败。

那么,我怎样才能testing我的模板,而实际上并没有试图安装新的虚拟机?

显然,每次我想在我的模板或代码片段中进行更改时,开始一个新的构build是适得其反的。

模板编辑器上方是一个小的预览button – select该button,然后从右侧的下拉菜单中select要为其呈现模板的主机。

将需要具有相同操作系统的托pipe主机,因此必须在预览模板之前创build它(设置为通过新主机进行设置 ,而不是通过Puppet或事实上传创build)。

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

使用预览编辑配置模板

再次selectinput选项卡,您可以返回到编辑模板。 这一切都不需要保存+重新访问编辑页面。 预览渲染模板时,只有在保存时,才会保留更改。

另请参阅Foreman 1.9发布高亮显示 – 模板预览显示该function的简短video。

检查语法是正确的

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)) 

根据您要testing的模板,您需要将所有预期的variables作为参数发送。

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