diff --git a/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 b/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 index e72ceb2745..10dda3fa4e 100644 --- a/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 +++ b/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 @@ -1,9 +1,11 @@ [libvirt] {% if libvirt_tls | bool %} -connection_uri = "qemu+tls://{{ migration_hostname }}/system" -live_migration_uri = "qemu+tls://%s/system" +connection_uri = "qemu+tls://{{ migration_hostname | put_address_in_context('url') }}/system" +live_migration_scheme = "tls" +live_migration_inbound_addr = "{{ migration_hostname }}" {% else %} connection_uri = "qemu+tcp://{{ migration_interface_address | put_address_in_context('url') }}/system" +live_migration_inbound_addr = "{{ migration_interface_address }}" {% endif %} {% if nova_backend == "rbd" %} images_type = rbd diff --git a/releasenotes/notes/bug-1729566-8b77402fd8236962.yaml b/releasenotes/notes/bug-1729566-8b77402fd8236962.yaml new file mode 100644 index 0000000000..7ce1f10bb0 --- /dev/null +++ b/releasenotes/notes/bug-1729566-8b77402fd8236962.yaml @@ -0,0 +1,13 @@ +--- +fixes: + - | + Fixes an issue with Nova live migration not using + ``migration_interface_address`` even when TLS was not used. + When migrating an instance to a newly added compute host, if addressing + depended on ``/etc/hosts`` and it had not been updated on the + source compute host to include the new compute host, live migration would + fail. This did not affect DNS-based name resolution. + Analogically, Nova live migration would fail if the address in + DNS/``/etc/hosts`` was not the same as ``migration_interface_address`` + due to user customization. + `LP#1729566 `__