Support tunables for announce_self sending

We already added support from the option to enable this feature[1].
This makes some tunables of the feature so that operators can customize
some options using the native interfaces.

[1] 4a77e0a5b9

Change-Id: I68533b2166e93efcc73227619181fc95809d12d0
This commit is contained in:
Takashi Kajinami 2023-03-08 12:39:28 +09:00
parent 51829b985f
commit fb9ea29284
3 changed files with 30 additions and 0 deletions

View File

@ -21,6 +21,16 @@
# to update network switches in the post live migration phase on the destination.
# Defaults to $facts['os_service_default']
#
# [*qemu_monitor_announce_self_count*]
# (Optional) The total number of times to send the announce_self command to
# the QEMU monitor when enable_qemu_monitor_announce_self is enabled.
# Defaults to $facts['os_service_default']
#
# [*qemu_monitor_announce_self_interval*]
# (Optional) The number of seconds to wait before re-sending the announce_self
# command to the QEMU monitor.
# Defaults to $facts['os_service_default']
#
# [*wait_for_vif_plugged_event_during_hard_reboot*]
# (Optional) If set Nova will wait for the Neutron ML2 backend to sent vif
# plugged events when performing hard reboot.
@ -48,6 +58,8 @@ class nova::workarounds (
$never_download_image_if_on_rbd = $facts['os_service_default'],
$ensure_libvirt_rbd_instance_dir_cleanup = $facts['os_service_default'],
$enable_qemu_monitor_announce_self = $facts['os_service_default'],
$qemu_monitor_announce_self_count = $facts['os_service_default'],
$qemu_monitor_announce_self_interval = $facts['os_service_default'],
$wait_for_vif_plugged_event_during_hard_reboot = $facts['os_service_default'],
$disable_compute_service_check_for_ffu = $facts['os_service_default'],
$skip_hypervisor_version_check_on_lm = $facts['os_service_default'],
@ -69,6 +81,10 @@ class nova::workarounds (
value => $ensure_libvirt_rbd_instance_dir_cleanup;
'workarounds/enable_qemu_monitor_announce_self':
value => $enable_qemu_monitor_announce_self;
'workarounds/qemu_monitor_announce_self_count':
value => $qemu_monitor_announce_self_count;
'workarounds/qemu_monitor_announce_self_interval':
value => $qemu_monitor_announce_self_interval;
'workarounds/wait_for_vif_plugged_event_during_hard_reboot':
value => join(any2array($wait_for_vif_plugged_event_during_hard_reboot), ',');
'workarounds/disable_compute_service_check_for_ffu':

View File

@ -0,0 +1,8 @@
---
features:
- |
The ``nova::workarounds`` class now supports the following two new
parameters.
- ``qemu_monitor_announce_self_count``
- ``qemu_monitor_announce_self_interval``

View File

@ -13,6 +13,8 @@ describe 'nova::workarounds' do
it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/ensure_libvirt_rbd_instance_dir_cleanup').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/enable_qemu_monitor_announce_self').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/qemu_monitor_announce_self_count').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/qemu_monitor_announce_self_interval').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/wait_for_vif_plugged_event_during_hard_reboot').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/disable_compute_service_check_for_ffu').with_value('<SERVICE DEFAULT>') }
it { is_expected.to contain_nova_config('workarounds/skip_hypervisor_version_check_on_lm').with_value('<SERVICE DEFAULT>') }
@ -25,6 +27,8 @@ describe 'nova::workarounds' do
:never_download_image_if_on_rbd => true,
:ensure_libvirt_rbd_instance_dir_cleanup => true,
:enable_qemu_monitor_announce_self => true,
:qemu_monitor_announce_self_count => 3,
:qemu_monitor_announce_self_interval => 1,
:wait_for_vif_plugged_event_during_hard_reboot => ['normal', 'direct'],
:disable_compute_service_check_for_ffu => true,
:skip_hypervisor_version_check_on_lm => true,
@ -35,6 +39,8 @@ describe 'nova::workarounds' do
it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('true') }
it { is_expected.to contain_nova_config('workarounds/ensure_libvirt_rbd_instance_dir_cleanup').with_value('true') }
it { is_expected.to contain_nova_config('workarounds/enable_qemu_monitor_announce_self').with_value(true) }
it { is_expected.to contain_nova_config('workarounds/qemu_monitor_announce_self_count').with_value(3) }
it { is_expected.to contain_nova_config('workarounds/qemu_monitor_announce_self_interval').with_value(1) }
it { is_expected.to contain_nova_config('workarounds/wait_for_vif_plugged_event_during_hard_reboot').with_value('normal,direct') }
it { is_expected.to contain_nova_config('workarounds/disable_compute_service_check_for_ffu').with_value(true) }
it { is_expected.to contain_nova_config('workarounds/skip_hypervisor_version_check_on_lm').with_value(true) }