我已经在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