7.5. 声明自定义特征和资源类
作为管理员,您可以使用以下方法之一在 Red Hat OpenStack Platform (RHOSP) overcloud 节点上声明哪些自定义物理功能和可消耗资源:
-
通过在 YAML 文件中定义自定义资源清单
provider.yaml - 通过定义应用到特定节点角色的资源自定义清单。
您可以通过定义自定义特征来声明物理主机功能的可用性,如 CUSTOM_DIESEL_BACKUP_POWER、CUSTOM_FIPS_COMPLIANT 和 CUSTOM_ HPC_OPTIMIZED。您还可以通过定义资源类(如 CUSTOM_DISK_IOPS )和 CUSTOM_POWER_WATTS 来声明可消耗资源的可用性。
7.5.1. 在 YAML 文件中声明自定义特征和资源类 复制链接链接已复制到粘贴板!
作为管理员,您可以通过在 YAML 文件 provider.yaml 中定义自定义资源,来声明 Red Hat OpenStack Platform (RHOSP) overcloud 节点上有哪些自定义物理功能和可消耗的资源。
您可以通过定义自定义特征来声明物理主机功能的可用性,如 CUSTOM_DIESEL_BACKUP_POWER、CUSTOM_FIPS_COMPLIANT 和 CUSTOM_ HPC_OPTIMIZED。您还可以通过定义资源类(如 CUSTOM_DISK_IOPS )和 CUSTOM_POWER_WATTS 来声明可消耗资源的可用性。
流程
-
在
/home/stack/templates/中创建名为provider.yaml的文件。 要配置资源供应商,请在
provider.yaml文件中添加以下配置:meta: schema_version: '1.0' providers: - identification: uuid: <node_uuid>-
将
<node_uuid> 替换为节点的 UUID,例如'5213b75d-9260-42a6-b236-f39b0fd10561'。或者,您可以使用name属性来识别资源 provider:name: 'EXAMPLE_RESOURCE_PROVIDER'。
-
将
要为资源供应商配置可用的自定义资源类,请在
provider.yaml文件中添加以下配置:meta: schema_version: '1.0' providers: - identification: uuid: <node_uuid> inventories: additional: - CUSTOM_EXAMPLE_RESOURCE_CLASS: total: <total_available> reserved: <reserved> min_unit: <min_unit> max_unit: <max_unit> step_size: <step_size> allocation_ratio: <allocation_ratio>-
将
CUSTOM_EXAMPLE_RESOURCE_CLASS替换为资源类的名称。自定义资源类必须以前缀 CUSTOM_ 开头,且仅包含字母 A 到 Z,数字 0 到 9,下划线的 "_" 字符。 -
将
<total_available> 替换为此资源提供程序的可用CUSTOM_EXAMPLE_RESOURCE_CLASS的数量。 -
将
<reserved> 替换为此资源供应商的保留CUSTOM_EXAMPLE_RESOURCE_CLASS的数量。 -
将
<min_unit> 替换为单个实例可以消耗的资源的最小单元。 -
将
<max_unit> 替换为单个实例可以使用的最大资源单元。 -
将
<step_size> 替换为消耗的递增数量。 -
将
<allocation_ratio> 替换为为资源设置分配比率的值。设置为1.0以防止过度分配。设置为大于1.0的值,将资源可用性增加到超过物理硬件。
-
将
要为资源供应商配置可用的特征,请在
provider.yaml文件中添加以下配置:meta: schema_version: '1.0' providers: - identification: uuid: <node_uuid> inventories: additional: ... traits: additional: - 'CUSTOM_EXAMPLE_TRAIT'将
CUSTOM_EXAMPLE_TRAIT替换为特征的名称。自定义特征必须以前缀 CUSTOM_ 开头,且仅包含字母 A 到 Z,数字 0 到 9,下划线的 "_" 字符。provider.yaml文件示例以下示例声明了一个自定义资源类,另一个用于资源提供程序的自定义特征。
meta: schema_version: 1.0 providers: - identification: uuid: $COMPUTE_NODE inventories: additional: CUSTOM_LLC: # Describing LLC on this Compute node total: 221 reserved: 22 min_unit: 13 max_unit: 114 step_size: 15 allocation_ratio: 1.06 traits: additional: # This Compute node enables support for P-state control - CUSTOM_P_STATE_ENABLED
-
保存并关闭
provider.yaml文件。 使用其他环境文件将
provider.yaml文件添加到堆栈中,并部署 overcloud:(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/provider.yaml
7.5.2. 为角色声明自定义特征和资源类 复制链接链接已复制到粘贴板!
要为角色声明自定义特征和资源类,您必须在角色文件中配置 CustomProviderInventories 参数。
流程
生成一个名为
roles_data_custom_traits.yaml的新角色数据文件,其中包含 Controller 和 Compute 角色,以及 overcloud 所需的任何其他角色:(undercloud)$ openstack overcloud roles \ generate -o /home/stack/templates/roles_data_roles_data_custom_traits.yaml \ Compute:Compute Controller使用以下示例配置为资源提供程序配置可用的自定义资源类和特征:
以下示例为 ComputeGpu 角色声明自定义资源类和自定义特征:
########################## # GPU configuration # ########################## ComputeGpuParameters: NovaVGPUTypesDeviceAddressesMapping: {'nvidia-319': ['0000:82:00.0'], 'nvidia-320': ['0000:04:00.0']} CustomProviderInventories: - name: computegpu-0.localdomain_pci_0000_04_00_0 traits: - CUSTOM_NVIDIA_12 - name: computegpu-0.localdomain_pci_0000_82_00_0 traits: - CUSTOM_NVIDIA_11 - name: computegpu-1.localdomain_pci_0000_04_00_0 traits: - CUSTOM_NVIDIA_12 - name: computegpu-1.localdomain_pci_0000_82_00_0 traits: - CUSTOM_NVIDIA_11 - uuid: $COMPUTE_NODE inventories: CUSTOM_EXAMPLE_RESOURCE_CLASS: total: 1001 reserved: 02 min_unit: 13 max_unit: 104 step_size: 15 allocation_ratio: 1.06 CUSTOM_ANOTHER_EXAMPLE_RESOURCE_CLASS: total: 100 traits: # This Compute node enables support for P-state and C-state control - CUSTOM_P_STATE_ENABLED - CUSTOM_C_STATE_ENABLED-
将
CUSTOM_EXAMPLE_RESOURCE_CLASS替换为资源类的名称。自定义资源类必须以前缀 CUSTOM_ 开头,且仅包含字母 A 到 Z,数字 0 到 9,下划线的 "_" 字符。 -
<1&
gt; 总数是此资源提供商可用的CUSTOM_EXAMPLE_RESOURCE_CLASS的数目。 -
<2>
保留是此资源供应商的保留CUSTOM_EXAMPLE_RESOURCE_CLASS的数量。 -
<3>
min_unit是单个实例可消耗的最少资源单元。 -
<4>
max_unit是单个实例可以消耗的资源的最大单位。 -
<5>
step_size是消耗的递增数量。 -
<6>
allocation_ratio配置资源过度分配。如果将allocation_ratio设置为 1.0,则不允许过度分配。但是,如果allocation_ration大于 1.0,则可用资源总数超过了物理资源。
-
将
- 保存并关闭角色文件。
使用其他环境文件将角色文件添加到堆栈中并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/roles_data_roles_data_custom_traits.yaml