From d7b85da651b6144cbc3ea4fd522f190020b39896 Mon Sep 17 00:00:00 2001 From: Oliver Walsh Date: Thu, 19 Apr 2018 17:12:15 +0100 Subject: [PATCH] Allow live_migration_inbound_addr to be used with non-default port/user/extra_params live_migration_scheme was being used when live_migration_inbound_addr was set. This prohibits a non-default port/user/extra_params being used, which is often required to fully describe the uri, particularly for the ssh transport (see bug#1671288). However live_migration_inbound_addr also works with live_migration_uri, so for now revert back to using live_migration_uri in all cases. Change-Id: Ifdc5fbd05195604ab6ea6564d0905f9385c6df67 Closes-Bug: #1765462 --- manifests/migration/libvirt.pp | 14 ++------------ ..._inbound_addr_with_params-3529d460d5047c80.yaml | 12 ++++++++++++ spec/classes/nova_migration_libvirt_spec.rb | 5 +---- 3 files changed, 15 insertions(+), 16 deletions(-) create mode 100644 releasenotes/notes/live_migration_inbound_addr_with_params-3529d460d5047c80.yaml diff --git a/manifests/migration/libvirt.pp b/manifests/migration/libvirt.pp index 8c7837d7d..8d9af5971 100644 --- a/manifests/migration/libvirt.pp +++ b/manifests/migration/libvirt.pp @@ -20,10 +20,7 @@ # # [*live_migration_inbound_addr*] # (optional) The IP address or hostname to be used as the target for live -# migration traffic. If left unset, and if TLS is enabled, this module will -# default the 'live_migration_uri' to 'qemu+tls://%s/system' to be compatible -# with the previous behavior of this module. However, the usage of -# 'live_migration_uri' is not recommended as it's scheduled for removal. +# migration traffic. # Defaults to $::os_service_default # # [*live_migration_tunnelled*] @@ -146,20 +143,13 @@ class nova::migration::libvirt( $extra_params ='' } - if is_service_default($live_migration_inbound_addr) { - $live_migration_uri = "qemu+${transport_real}://${prefix}%s${postfix}/system${extra_params}" - $live_migration_scheme = $::os_service_default - } else { - $live_migration_uri = $::os_service_default - $live_migration_scheme = $transport_real - } + $live_migration_uri = "qemu+${transport_real}://${prefix}%s${postfix}/system${extra_params}" nova_config { 'libvirt/live_migration_uri': value => $live_migration_uri; 'libvirt/live_migration_tunnelled': value => $live_migration_tunnelled; 'libvirt/live_migration_completion_timeout': value => $live_migration_completion_timeout; 'libvirt/live_migration_inbound_addr': value => $live_migration_inbound_addr; - 'libvirt/live_migration_scheme': value => $live_migration_scheme; } } diff --git a/releasenotes/notes/live_migration_inbound_addr_with_params-3529d460d5047c80.yaml b/releasenotes/notes/live_migration_inbound_addr_with_params-3529d460d5047c80.yaml new file mode 100644 index 000000000..130a06b6e --- /dev/null +++ b/releasenotes/notes/live_migration_inbound_addr_with_params-3529d460d5047c80.yaml @@ -0,0 +1,12 @@ +--- +fixes: + - | + Fix live_migration_inbound_addr when used with non-default port/user/extra_params + + live_migration_scheme was being used when live_migration_inbound_addr was set. + This prohibits a non-default port/user/extra_params being used which is often + required to fully describe the uri, particularly for the ssh transport + (see https://bugs.launchpad.net/nova/+bug/1671288). + + However live_migration_inbound_addr also works with live_migration_uri, so for + now revert back to using live_migration_uri in all cases. diff --git a/spec/classes/nova_migration_libvirt_spec.rb b/spec/classes/nova_migration_libvirt_spec.rb index a4546dd13..2ebcfd4fe 100644 --- a/spec/classes/nova_migration_libvirt_spec.rb +++ b/spec/classes/nova_migration_libvirt_spec.rb @@ -48,7 +48,6 @@ describe 'nova::migration::libvirt' do it { is_expected.to contain_nova_config('libvirt/live_migration_completion_timeout').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_scheme').with_value('')} end context 'with override_uuid enabled' do @@ -80,7 +79,6 @@ describe 'nova::migration::libvirt' do it { is_expected.not_to contain_libvirtd_config('auth_tcp') } it { is_expected.to contain_nova_config('libvirt/live_migration_uri').with_value('qemu+tls://%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_scheme').with_value('')} end context 'with tls enabled' do @@ -107,9 +105,8 @@ describe 'nova::migration::libvirt' do it { is_expected.to contain_libvirtd_config('listen_tcp').with_value('0') } it { is_expected.to contain_libvirtd_config('auth_tls').with_value("\"none\"") } it { is_expected.not_to contain_libvirtd_config('auth_tcp') } - it { is_expected.to contain_nova_config('libvirt/live_migration_uri').with_value('')} + it { is_expected.to contain_nova_config('libvirt/live_migration_uri').with_value('qemu+tls://%s/system')} it { is_expected.to contain_nova_config('libvirt/live_migration_inbound_addr').with_value('host1.example.com')} - it { is_expected.to contain_nova_config('libvirt/live_migration_scheme').with_value('tls')} end context 'with migration flags set' do