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