diff --git a/manifests/workarounds.pp b/manifests/workarounds.pp index 851d0ef51..248a6dce4 100644 --- a/manifests/workarounds.pp +++ b/manifests/workarounds.pp @@ -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), ','); } } diff --git a/releasenotes/notes/workarounds-wait_for_vif_plugged_event_during_hard_reboot-092dada6f6a1e632.yaml b/releasenotes/notes/workarounds-wait_for_vif_plugged_event_during_hard_reboot-092dada6f6a1e632.yaml new file mode 100644 index 000000000..e2358768b --- /dev/null +++ b/releasenotes/notes/workarounds-wait_for_vif_plugged_event_during_hard_reboot-092dada6f6a1e632.yaml @@ -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. diff --git a/spec/classes/nova_workarounds_spec.rb b/spec/classes/nova_workarounds_spec.rb index caf30aaf3..2eff8d3dd 100644 --- a/spec/classes/nova_workarounds_spec.rb +++ b/spec/classes/nova_workarounds_spec.rb @@ -13,15 +13,17 @@ describe 'nova::workarounds' do it { is_expected.to contain_nova_config('workarounds/never_download_image_if_on_rbd').with_value('') } it { is_expected.to contain_nova_config('workarounds/ensure_libvirt_rbd_instance_dir_cleanup').with_value('') } it { is_expected.to contain_nova_config('workarounds/enable_qemu_monitor_announce_self').with_value('') } + it { is_expected.to contain_nova_config('workarounds/wait_for_vif_plugged_event_during_hard_reboot').with_value('') } 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