Add ability to manage irqbalance on compute per role

Adds functionality whether to enable/disable irqbalance on compute
nodes.
Based on tuning recommendation for compute realtime nodes irqbalance
should be stopped and disabled. And tuned will be responsible for
managing IRQ balancing instead of irqbalance.

Change-Id: Ibefb8e472c68901a74d76769b5314bef81fd5b15
This commit is contained in:
Rajesh Tailor 2020-09-29 17:13:52 +05:30
parent f4867675c4
commit 932aecf33c
5 changed files with 22 additions and 0 deletions

View File

@ -443,6 +443,13 @@ parameters:
default: {} default: {}
tags: tags:
- role_specific - role_specific
NovaComputeDisableIrqBalance:
default: false
description: Whether to disable irqbalance on compute nodes or not. Especially
in Realtime Compute role one wants to keep it disabled.
type: boolean
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.
@ -544,6 +551,7 @@ resources:
nova_pmem_namespaces: NovaPMEMNamespaces nova_pmem_namespaces: NovaPMEMNamespaces
nova::compute::libvirt::remove_unused_original_minimum_age_seconds: NovaImageCacheTTL nova::compute::libvirt::remove_unused_original_minimum_age_seconds: NovaImageCacheTTL
nova::compute::vgpu::vgpu_types_device_addresses_mapping: NovaVGPUTypesDeviceAddressesMapping nova::compute::vgpu::vgpu_types_device_addresses_mapping: NovaVGPUTypesDeviceAddressesMapping
compute_disable_irqbalance: NovaComputeDisableIrqBalance
- values: {get_param: [RoleParameters]} - values: {get_param: [RoleParameters]}
- values: - values:
NovaVcpuPinSet: {get_param: NovaVcpuPinSet} NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
@ -620,6 +628,7 @@ resources:
NovaPMEMNamespaces: {get_param: NovaPMEMNamespaces} NovaPMEMNamespaces: {get_param: NovaPMEMNamespaces}
NovaImageCacheTTL: {get_param: NovaImageCacheTTL} NovaImageCacheTTL: {get_param: NovaImageCacheTTL}
NovaVGPUTypesDeviceAddressesMapping: {get_param: NovaVGPUTypesDeviceAddressesMapping} NovaVGPUTypesDeviceAddressesMapping: {get_param: NovaVGPUTypesDeviceAddressesMapping}
NovaComputeDisableIrqBalance: {get_param: NovaComputeDisableIrqBalance}
conditions: conditions:
@ -1106,6 +1115,15 @@ outputs:
with_items: with_items:
- ksm.service - ksm.service
- ksmtuned.service - ksmtuned.service
- name: Is irqbalance enabled
set_fact:
compute_irqbalance_disabled: {get_attr: [RoleParametersValue, value, compute_disable_irqbalance]}
- name: disable irqbalance service on compute
when: compute_irqbalance_disabled|bool
service:
name: irqbalance.service
state: stopped
enabled: no
deploy_steps_tasks: deploy_steps_tasks:
- name: validate nova-compute container state - name: validate nova-compute container state
podman_container_info: podman_container_info:

View File

@ -19,6 +19,7 @@
NovaLibvirtRxQueueSize: 1024 NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024
NovaLibvirtMemStatsPeriodSeconds: 0 NovaLibvirtMemStatsPeriodSeconds: 0
NovaComputeDisableIrqBalance: True
update_serial: 25 update_serial: 25
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -16,6 +16,7 @@
NovaLibvirtRxQueueSize: 1024 NovaLibvirtRxQueueSize: 1024
NovaLibvirtTxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024
NovaLibvirtMemStatsPeriodSeconds: 0 NovaLibvirtMemStatsPeriodSeconds: 0
NovaComputeDisableIrqBalance: True
update_serial: 25 update_serial: 25
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -25,6 +25,7 @@
NovaComputeCpuDedicatedSet: "" # real-time nodes NovaComputeCpuDedicatedSet: "" # real-time nodes
NovaComputeCpuSharedSet: "" # NovaComputeCpuSharedSet: "" #
NovaLibvirtMemStatsPeriodSeconds: 0 NovaLibvirtMemStatsPeriodSeconds: 0
NovaComputeDisableIrqBalance: True
update_serial: 25 update_serial: 25
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -16,6 +16,7 @@
RoleParametersDefault: RoleParametersDefault:
TunedProfileName: "realtime-virtual-host" TunedProfileName: "realtime-virtual-host"
NovaLibvirtMemStatsPeriodSeconds: 0 NovaLibvirtMemStatsPeriodSeconds: 0
NovaComputeDisableIrqBalance: True
update_serial: 25 update_serial: 25
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide