A.11. Template Snippets 示例
检查主机是否已启用 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')
%>
捕获主机操作系统的主版本和次版本
以下示例显示如何捕获主机操作系统的次要和主要版本,它们可用于软件包相关决策:
将片断导入到模板
以下示例将 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 报告模板来解析每个主机的内核版本的自定义信息: