Expose new THT params for cpu model flags

This change adds new THT parameters `NovaLibvirtCPUMode`,
`NovaLibvirtCPUModels` and `NovaLibvirtCPUModelExtraFlags`
which allows to configure `libvirt/cpu_mode`, `libvirt/cpu_models`
and `libvirt/cpu_model_extra_flags` parameters respectively.

Change-Id: I8df21d5d171976cbb8670dc5aef744b5fae657b2
This commit is contained in:
Rajesh Tailor 2020-09-29 10:39:53 +05:30
parent 6773fd62fb
commit 772b7398a7
2 changed files with 43 additions and 0 deletions

View File

@ -458,6 +458,36 @@ parameters:
type: boolean type: boolean
tags: tags:
- role_specific - role_specific
NovaLibvirtCPUMode:
type: string
description: >
The libvirt CPU mode to configure. Defaults to 'host-model' if virt_type is
set to kvm, otherwise defaults to 'none'
default: 'none'
constraints:
- allowed_values:
- custom
- host-model
- none
- host-passthrough
tags:
- role_specific
NovaLibvirtCPUModels:
type: comma_delimited_list
description: >
The named libvirt CPU model (see names listed in /usr/share/libvirt/cpu_map.xml).
Only has effect if cpu_mode="custom" and virt_type="kvm|qemu"
default: []
tags:
- role_specific
NovaLibvirtCPUModelExtraFlags:
type: string
description: >
This allows specifying granular CPU feature flags when specifying CPU models.
Only has effect if cpu_mode is not set to 'none'.
default: ''
tags:
- role_specific
# DEPRECATED: the following options are deprecated and are currently maintained # DEPRECATED: the following options are deprecated and are currently maintained
# for backwards compatibility. They will be removed in future release. # for backwards compatibility. They will be removed in future release.
@ -561,6 +591,9 @@ resources:
nova::compute::libvirt::swtpm_enabled: NovaEnableVTPM nova::compute::libvirt::swtpm_enabled: NovaEnableVTPM
nova::compute::vgpu::vgpu_types_device_addresses_mapping: NovaVGPUTypesDeviceAddressesMapping nova::compute::vgpu::vgpu_types_device_addresses_mapping: NovaVGPUTypesDeviceAddressesMapping
compute_disable_irqbalance: NovaComputeDisableIrqBalance compute_disable_irqbalance: NovaComputeDisableIrqBalance
nova::compute::libvirt::cpu_mode: NovaLibvirtCPUMode
nova::compute::libvirt::cpu_models: NovaLibvirtCPUModels
nova::compute::libvirt::cpu_model_extra_flags: NovaLibvirtCPUModelExtraFlags
- values: {get_param: [RoleParameters]} - values: {get_param: [RoleParameters]}
- values: - values:
NovaVcpuPinSet: {get_param: NovaVcpuPinSet} NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
@ -639,6 +672,9 @@ resources:
NovaImageCacheTTL: {get_param: NovaImageCacheTTL} NovaImageCacheTTL: {get_param: NovaImageCacheTTL}
NovaVGPUTypesDeviceAddressesMapping: {get_param: NovaVGPUTypesDeviceAddressesMapping} NovaVGPUTypesDeviceAddressesMapping: {get_param: NovaVGPUTypesDeviceAddressesMapping}
NovaComputeDisableIrqBalance: {get_param: NovaComputeDisableIrqBalance} NovaComputeDisableIrqBalance: {get_param: NovaComputeDisableIrqBalance}
NovaLibvirtCPUMode: {get_param: NovaLibvirtCPUMode}
NovaLibvirtCPUModels: {get_param: NovaLibvirtCPUModels}
NovaLibvirtCPUModelExtraFlags: {get_param: NovaLibvirtCPUModelExtraFlags}
conditions: conditions:

View File

@ -0,0 +1,7 @@
---
features:
- |
Add parameters `NovaLibvirtCPUMode`, `NovaLibvirtCPUModels`
and `NovaLibvirtCPUModelExtraFlags` to allow configuration of
CPU related parameters `libvirt/cpu_mode`, `libvirt/cpu_models` and
`libvirt/cpu_model_extra_flags` respectively.