Add NovaLibvirtMaxQueues role parameter to set [libvirt]/max_queues

Add NovaLibvirtMaxQueues role parameter to set [libvirt]/max_queues in
nova.conf of the compute. Default 0 corresponds to not set meaning the
legacy limits based on the reported kernel major version will be used.

Depends-On: Ieaa29b51257f5ea3a5e4d6c678140fd9ae052d88
Change-Id: I353e8ca2676bbdceb056f8b2b084bc5102f52c1f
This commit is contained in:
Martin Schuppert 2021-01-19 08:22:34 +01:00
parent c488d97b55
commit 67a5a78897
2 changed files with 30 additions and 0 deletions

View File

@ -548,6 +548,17 @@ parameters:
default: []
tags:
- role_specific
NovaLibvirtMaxQueues:
type: number
description: >
Add parameter to configure the libvirt max_queues. The maximum number
of virtio queue pairs that can be enabled when creating a multiqueue guest.
The number of virtio queues allocated will be the lesser of the CPUs
requested by the guest and the max value defined.
Default 0 corresponds to not set
default: 0
tags:
- role_specific
# DEPRECATED: the following options are deprecated and are currently maintained
# for backwards compatibility. They will be removed in future release.
@ -744,6 +755,8 @@ resources:
NovaImageTypeExcludeList: {get_param: NovaImageTypeExcludeList}
NovaLiveMigrationPermitPostCopy: {get_param: NovaLiveMigrationPermitPostCopy}
NovaLiveMigrationPermitAutoConverge: {get_param: NovaLiveMigrationPermitAutoConverge}
NovaLibvirtMaxQueues: {get_param: NovaLibvirtMaxQueues}
conditions:
enable_instance_ha: {equals: [{get_param: EnableInstanceHA}, true]}
@ -804,6 +817,12 @@ conditions:
- equals: [{get_param: [RoleParameters, NovaLiveMigrationPermitAutoConverge]}, '']
- equals: [{get_param: NovaLiveMigrationPermitAutoConverge}, '']
nova_libvirt_max_queues_set:
not:
or:
- equals: [{get_param: NovaLibvirtMaxQueues}, 0]
- equals: [{get_param: [RoleParameters, NovaLibvirtMaxQueues]}, 0]
outputs:
role_data:
description: Role data for the Nova Compute service.
@ -921,6 +940,11 @@ outputs:
- libvirt_file_backed_memory_enabled
- '1.0'
- {get_attr: [RoleParametersValue, value, 'nova::ram_allocation_ratio']}
-
if:
- nova_libvirt_max_queues_set
- nova::compute::libvirt::max_queues: {get_attr: [RoleParametersValue, value, nova_libvirt_max_queues]}
- {}
service_config_settings:
rsyslog:
tripleo_logging_sources_nova_compute:

View File

@ -0,0 +1,6 @@
---
features:
- |
Add NovaLibvirtMaxQueues role parameter to set [libvirt]/max_queues in
nova.conf of the compute. Default 0 corresponds to not set meaning the
legacy limits based on the reported kernel major version will be used.