Set migrate_data.vifs only when using multiple port bindings
In the rocky cycle nova was enhanced to support the multiple
port binding live migration workflow when neutron supports
the binding-extended API extension.
When the migration_data object was extended to support
multiple port bindings, populating the vifs field was used
as a sentinel to indicate that the new workflow should
be used.
In the train release
I734cc01dce13f9e75a16639faf890ddb1661b7eb
(SR-IOV Live migration indirect port support)
broke the semantics of the migrate_data object by
unconditionally populating the vifs field
This change restores the rocky semantics, which are depended
on by several parts of the code base, by only conditionally
populating vifs if neutron supports multiple port bindings.
Changes to patch:
- unit/virt/libvirt/fakelibvirt.py: Include partial pick from
change Ia3d7351c1805d98bcb799ab0375673c7f1cb8848 to add the
jobStats, complete_job and fail_job to fakelibvirt. The full
change was not cherry-picked as it was part of the numa aware
live migration feature in Victoria.
- renamed import of nova.network.neutron to nova.network.neutronv2.api
- mocked nova.virt.libvirt.guest.Guest.get_job_info to return fakelibvirt.VIR_DOMAIN_JOB_COMPLETED
- replaced from urllib import parse as urlparse with
import six.moves.urllib.parse as urlparse for py2.7
Reviewed: https:/ /review. opendev. org/c/openstack /nova/+ /759153 /opendev. org/openstack/ nova/commit/ 5a6fd88f7aaa18b 9cbd7ab594b4e1d ac0b7d22ca
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/train
commit 5a6fd88f7aaa18b 9cbd7ab594b4e1d ac0b7d22ca
Author: root <email address hidden>
Date: Sat Jul 18 00:32:54 2020 -0400
Set migrate_data.vifs only when using multiple port bindings
In the rocky cycle nova was enhanced to support the multiple
port binding live migration workflow when neutron supports
the binding-extended API extension.
When the migration_data object was extended to support
multiple port bindings, populating the vifs field was used
as a sentinel to indicate that the new workflow should
be used.
In the train release 13f9e75a16639fa f890ddb1661b7eb
I734cc01dce
(SR-IOV Live migration indirect port support)
broke the semantics of the migrate_data object by
unconditionally populating the vifs field
This change restores the rocky semantics, which are depended
on by several parts of the code base, by only conditionally
populating vifs if neutron supports multiple port bindings.
Changes to patch: libvirt/ fakelibvirt. py: Include partial pick from 8bcb799ab037567 3c7f1cb8848 to add the neutron to
nova.network. neutronv2. api libvirt. guest.Guest. get_job_ info to return
fakelibvirt. VIR_DOMAIN_ JOB_COMPLETED urllib. parse as urlparse for py2.7
- unit/virt/
change Ia3d7351c1805d9
jobStats, complete_job and fail_job to fakelibvirt. The full
change was not cherry-picked as it was part of the numa aware
live migration feature in Victoria.
- renamed import of nova.network.
- mocked nova.virt.
- replaced from urllib import parse as urlparse with
import six.moves.
Conflicts:
nova/tests/ functional/ regressions/ test_bug_ 1888395. py
nova/tests/ unit/compute/ test_compute. py
nova/tests/ unit/compute/ test_compute_ mgr.py
nova/tests/ unit/virt/ test_virt_ drivers. py
Co-Authored-By: Sean Mooney <email address hidden> 35db85f9e0ce2c6 d8df396e0d8 d215b4a0cecb9be 098e8d8799) 89a8245ed7a1b39 1c022b3305)
Change-Id: Ia00277ac8a68a6
Closes-Bug: #1888395
(cherry picked from commit b8f3be6b3c5af91
(cherry picked from commit afa843c8a7e1284