A.10. 模板片断示例
检查主机是否启用了 Puppet 和 Puppet
以下示例检查主机是否启用了 Puppet 和 Puppet the 存储库:
<% pm_set = @host.puppetmaster.empty? ? false : true puppet_enabled = pm_set || host_param_true?('force-puppet') puppetlabs_enabled = host_param_true?('enable-puppetlabs-repo') %>
<%
pm_set = @host.puppetmaster.empty? ? false : true
puppet_enabled = pm_set || host_param_true?('force-puppet')
puppetlabs_enabled = host_param_true?('enable-puppetlabs-repo')
%>
捕获主机操作系统的主版本和次版本
以下示例演示了如何捕获主机操作系统的次版本和主版本,它们可用于打包相关的决策:
将片断导入到模板
以下示例将 subscription_manager_registration 代码片段导入到模板,并以四个空格缩进:
<%= indent 4 do snippet 'subscription_manager_registration' end %>
<%= indent 4 do
snippet 'subscription_manager_registration'
end %>
条件地导入 Kickstart 片断
如果主机的子网启用了 DHCP 引导模式,以下示例导入 kickstart_networking_setup
片断:
<% subnet = @host.subnet %> <% if subnet.respond_to?(:dhcp_boot_mode?) -%> <%= snippet 'kickstart_networking_setup' %> <% end -%>
<% subnet = @host.subnet %>
<% if subnet.respond_to?(:dhcp_boot_mode?) -%>
<%= snippet 'kickstart_networking_setup' %>
<% end -%>
从主机自定义事实解析值
您可以使用 host.facts
变量来解析主机事实和自定义事实中的值。在本例中,luks_stat
是一个自定义事实,您可以使用与 dmi::system::serial_number
相同的方式进行解析,这是一个主机事实:
'Serial': host.facts['dmi::system::serial_number'], 'Encrypted': host.facts['luks_stat'],
'Serial': host.facts['dmi::system::serial_number'],
'Encrypted': host.facts['luks_stat'],
在本例中,您可以自定义 Applicable Errata 报告模板,以解析有关每个主机内核版本的自定义信息: