A.7. 特定于主机的变量
以下变量允许使用模板中的主机数据。请注意,作业模板仅接受 @host
变量。
Name | 描述 |
---|---|
@host.architecture | 主机的构架。 |
@host.bond_interfaces | 返回所有绑定接口的数组。请参阅 第 A.10 节 “解析数组”。 |
@host.capabilities | 系统调配的方法,可以是 build (如 kickstart)或图像。 |
@host.certname | 主机的 SSL 证书名称。 |
@host.diskLayout | 主机的磁盘布局。可以从操作系统继承。 |
@host.domain | 主机的域。 |
@host.environment 已弃用 使用 | 主机的 Puppet 环境。 |
@host.facts | 返回一个来自 Facter 的 Ruby 事实哈希。例如,若要从输出中访问 "ipaddress" 事实,指定 @host.facts['ipaddress']。 |
@host.grub_pass | 返回主机的引导装载程序密码。 |
@host.hostgroup | 主机的主机组。 |
host_enc['parameters'] | 返回包含主机参数信息的 Ruby 哈希。例如,使用 host_enc['parameters']['lifecycle_environment'] 获取主机的生命周期环境。 |
@host.image_build? |
如果使用镜像置备主机,则返回 |
@host.interfaces | 包含包括了主接口的所有可用主机接口的数组。请参阅 第 A.10 节 “解析数组”。 |
@host.interfaces_with_identifier('IDs') | 返回具有给定标识符的接口数组。您可以将多个标识符数组作为输入传递,如 @host.interfaces_with_identifier (['eth0', 'eth1'])。请参阅 第 A.10 节 “解析数组”。 |
@host.ip | 主机的 IP 地址。 |
@host.location | 主机的位置。 |
@host.mac | 主机的 MAC 地址。 |
@host.managed_interfaces | 返回一组受管接口(不包括 BMC 和绑定接口)。请参阅 第 A.10 节 “解析数组”。 |
@host.medium | 分配的操作系统安装介质。 |
@host.name | 主机的全名。 |
@host.operatingsystem.family | 操作系统系列。 |
@host.operatingsystem.major | 所分配操作系统的主版本号。 |
@host.operatingsystem.minor | 所分配操作系统的次要版本号。 |
@host.operatingsystem.name | 分配的操作系统名称。 |
@host.operatingsystem.boot_files_uri(medium_provider) | 指向内核和 initrd 的完整路径,返回一个数组。 |
@host.os.medium_uri(@host) | 用于置备的 URI (安装介质中配置的路径)。 |
host_param('parameter_name') | 返回指定 host 参数的值。 |
host_param_false?('parameter_name') |
如果指定的 host 参数评估为 |
host_param_true?('parameter_name') |
如果指定的 host 参数评估为 |
@host.primary_interface | 返回主机的主接口。 |
@host.provider | 计算资源提供商。 |
@host.provision_interface | 返回主机的调配接口。返回接口对象。 |
@host.ptable | 分区表名称。 |
@host.puppet_ca_server 已弃用,改为使用 | 主机必须使用的 Puppet CA 服务器。 |
@host.puppetmaster 已弃用 使用 | 主机必须使用的 Puppet 服务器。 |
@host.pxe_build? |
如果使用网络或 PXE 置备主机,则返回 |
@host.shortname | 主机的短名称。 |
@host.sp_ip | BMC 接口的 IP 地址。 |
@host.sp_mac | BMC 接口的 MAC 地址。 |
@host.sp_name | BMC 接口的名称。 |
@host.sp_subnet | BMC 网络的子网。 |
@host.subnet.dhcp |
如果为这个主机配置了 DHCP 代理,则返回 |
@host.subnet.dns_primary | 主机的主 DNS 服务器。 |
@host.subnet.dns_secondary | 主机的辅助 DNS 服务器。 |
@host.subnet.gateway | 主机的网关。 |
@host.subnet.mask | 主机的子网掩码。 |
@host.url_for_boot(:initrd) | 与此主机关联的 initrd 镜像的完整路径。不建议使用变量,因为它不进行干预。 |
@host.url_for_boot(:kernel) | 与此主机关联的内核的完整路径。不建议使用此变量,首选 boot_files_uri。 |
@provisioning_type | 根据调配类型,等于 'host' 或 'hostgroup'。 |
@static |
如果网络配置是静态,则返回 |
@template_name | 正在呈现的模板的名称。 |
grub_pass | 返回一个 bootloader 参数,以设置加密的引导装载程序密码,如 --md5pass=114{@host.grub_pass}。 |
ks_console | 使用端口和主机的波特率(可以添加到内核行中)返回字符串。例如 console=ttyS1,9600。 |
root_pass | 返回为系统配置的 root 密码。 |
大多数常见的 Ruby 方法都可用于特定于主机的变量。例如,要提取主机的 IP 地址的最后一个片段,您可以使用:
<% @host.ip.split('.').last %>