A.11. 模板片断示例
检查主机是否启用了 Puppet 和 Puppetlabs
以下示例检查主机是否启用了 Puppet 和 Puppetlabs 存储库:
<% 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')
%>
捕获主机操作系统的 Major 和 Minor 版本
以下示例演示了如何捕获主机操作系统的次要和主要版本,它们可用于软件包相关的决策:
将片段导入到模板
以下示例将 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 report 模板,以解析有关每个主机的内核版本的自定义信息: