Add wait_for_vif_plugged_event_during_hard_reboot

Adds parameter for the Nova workaround that waits
for Neutron ML2 backend to sent vif plugged on
hard reboot.

Change-Id: I7fc60bf3ba35f270ab843df917d43e5deaf047fd
(cherry picked from commit 84e565b1a0)
This commit is contained in:
Tobias Urdin 2022-02-09 08:22:03 +00:00 committed by Tobias Urdin
parent bdf1413f75
commit a66c8b4c17
3 changed files with 23 additions and 7 deletions

View File

@ -21,6 +21,11 @@
# to update network switches in the post live migration phase on the destination.
# Defaults to $::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.
# Defaults to $::os_service_default
#
# DEPRECATED
#
# [*enable_numa_live_migration*]
@ -28,9 +33,10 @@
# Defaults to undef
#
class nova::workarounds (
$never_download_image_if_on_rbd = $::os_service_default,
$ensure_libvirt_rbd_instance_dir_cleanup = $::os_service_default,
$enable_qemu_monitor_announce_self = $::os_service_default,
$never_download_image_if_on_rbd = $::os_service_default,
$ensure_libvirt_rbd_instance_dir_cleanup = $::os_service_default,
$enable_qemu_monitor_announce_self = $::os_service_default,
$wait_for_vif_plugged_event_during_hard_reboot = $::os_service_default,
# DEPRECATED PARAMETER
$enable_numa_live_migration = undef,
) {
@ -49,6 +55,8 @@ class nova::workarounds (
value => $ensure_libvirt_rbd_instance_dir_cleanup;
'workarounds/enable_qemu_monitor_announce_self':
value => $enable_qemu_monitor_announce_self;
'workarounds/wait_for_vif_plugged_event_during_hard_reboot':
value => join(any2array($wait_for_vif_plugged_event_during_hard_reboot), ',');
}
}

View File

@ -0,0 +1,5 @@
---
features:
- |
Added parameter ``wait_for_vif_plugged_event_during_hard_reboot`` to
``nova::workarounds`` to configure the config option with the same name.

View File

@ -13,15 +13,17 @@ 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/wait_for_vif_plugged_event_during_hard_reboot').with_value('<SERVICE DEFAULT>') }
end
context 'with overridden parameters' do
let :params do
{
:enable_numa_live_migration => true,
:never_download_image_if_on_rbd => true,
:ensure_libvirt_rbd_instance_dir_cleanup => true,
:enable_qemu_monitor_announce_self => true,
:enable_numa_live_migration => true,
:never_download_image_if_on_rbd => true,
:ensure_libvirt_rbd_instance_dir_cleanup => true,
:enable_qemu_monitor_announce_self => true,
:wait_for_vif_plugged_event_during_hard_reboot => ['normal', 'direct'],
}
end
@ -29,6 +31,7 @@ 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/wait_for_vif_plugged_event_during_hard_reboot').with_value('normal,direct') }
end
end