From 6060a871de54007a0ac1e2dfa74b4b4ea795a5d3 Mon Sep 17 00:00:00 2001 From: Tobias Urdin Date: Tue, 27 Oct 2020 15:00:59 +0100 Subject: [PATCH] Add live_migration_timeout_action to nova::migration::libvirt Change-Id: I4fd019d00d5cd36311a538c03dd529540c77f5dc (cherry picked from commit 4e562ece17ef9ffcb6131c64b8359c8b83f60843) (cherry picked from commit 7870b2ebd6fd8fd54d6bf711e28e0fcb991f3147) (cherry picked from commit 9d3ae19dea8d9752678b571f2230ed373ef9678d) --- manifests/migration/libvirt.pp | 10 ++++++++++ ...live_migration_timeout_action-ba86ca0d5b25ba90.yaml | 4 ++++ spec/classes/nova_migration_libvirt_spec.rb | 3 +++ 3 files changed, 17 insertions(+) create mode 100644 releasenotes/notes/add-libvirt-live_migration_timeout_action-ba86ca0d5b25ba90.yaml diff --git a/manifests/migration/libvirt.pp b/manifests/migration/libvirt.pp index 0ab2cbf77..c873abe41 100644 --- a/manifests/migration/libvirt.pp +++ b/manifests/migration/libvirt.pp @@ -51,6 +51,14 @@ # to 0 to disable timeouts. # Defaults to $::os_service_default # +# [*live_migration_timeout_action*] +# (optional) This option will be used to determine what action will be taken +# against a VM after live_migration_completion_timeout expires. By default, +# the live migrate operation will be aborted after completion timeout. +# If it is set to force_complete, the compute service will either pause the +# VM or trigger post-copy depending on if post copy is enabled and available +# Defaults to $::os_service_default +# # [*live_migration_permit_post_copy*] # (optional) This option allows nova to switch an on-going live migration # to post-copy mode, i.e., switch the active VM to the one on the destination @@ -118,6 +126,7 @@ class nova::migration::libvirt( $live_migration_tunnelled = $::os_service_default, $live_migration_with_native_tls = $::os_service_default, $live_migration_completion_timeout = $::os_service_default, + $live_migration_timeout_action = $::os_service_default, $live_migration_permit_post_copy = $::os_service_default, $live_migration_permit_auto_converge = $::os_service_default, $override_uuid = false, @@ -187,6 +196,7 @@ class nova::migration::libvirt( 'libvirt/live_migration_tunnelled': value => $live_migration_tunnelled; 'libvirt/live_migration_with_native_tls': value => $live_migration_with_native_tls; 'libvirt/live_migration_completion_timeout': value => $live_migration_completion_timeout; + 'libvirt/live_migration_timeout_action': value => $live_migration_timeout_action; 'libvirt/live_migration_inbound_addr': value => $live_migration_inbound_addr; 'libvirt/live_migration_permit_post_copy': value => $live_migration_permit_post_copy; 'libvirt/live_migration_permit_auto_converge': value => $live_migration_permit_auto_converge; diff --git a/releasenotes/notes/add-libvirt-live_migration_timeout_action-ba86ca0d5b25ba90.yaml b/releasenotes/notes/add-libvirt-live_migration_timeout_action-ba86ca0d5b25ba90.yaml new file mode 100644 index 000000000..d52a48270 --- /dev/null +++ b/releasenotes/notes/add-libvirt-live_migration_timeout_action-ba86ca0d5b25ba90.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Added parameter live_migration_timeout_action to nova::migration::libvirt. diff --git a/spec/classes/nova_migration_libvirt_spec.rb b/spec/classes/nova_migration_libvirt_spec.rb index 4f5322ace..74c235fe6 100644 --- a/spec/classes/nova_migration_libvirt_spec.rb +++ b/spec/classes/nova_migration_libvirt_spec.rb @@ -49,6 +49,7 @@ describe 'nova::migration::libvirt' do it { is_expected.to contain_nova_config('libvirt/live_migration_tunnelled').with_value('') } it { is_expected.to contain_nova_config('libvirt/live_migration_with_native_tls').with_value('') } it { is_expected.to contain_nova_config('libvirt/live_migration_completion_timeout').with_value('') } + it { is_expected.to contain_nova_config('libvirt/live_migration_timeout_action').with_value('') } it { is_expected.to contain_nova_config('libvirt/live_migration_uri').with_value('qemu+tcp://%s/system') } it { is_expected.to contain_nova_config('libvirt/live_migration_inbound_addr').with_value('')} it { is_expected.to contain_nova_config('libvirt/live_migration_permit_post_copy').with_value('')} @@ -114,10 +115,12 @@ describe 'nova::migration::libvirt' do { :live_migration_tunnelled => true, :live_migration_completion_timeout => '1500', + :live_migration_timeout_action => 'force_complete', } end it { is_expected.to contain_nova_config('libvirt/live_migration_tunnelled').with(:value => true) } it { is_expected.to contain_nova_config('libvirt/live_migration_completion_timeout').with_value('1500') } + it { is_expected.to contain_nova_config('libvirt/live_migration_timeout_action').with_value('force_complete') } end context 'with live migration auto converge on' do