That the migration fails and we're processing the "Migration completed" lifecycle event and that's what is triggering the activation of the dest host port binding right before we rollback and delete the dest host port binding.
From the logs:
Aug 21 16:19:16 devstack2 nova-compute[25894]: INFO nova.compute.manager [None req-c8b07cbc-52f7-4d20-aacc-f3036ad90c8d None None] [instance: fead1ca6-beab-4c47-a73e-a3ab7f7c4de2] VM Migration completed (Lifecycle Event)
The fix I proposed initially is the wrong one.
Sean's logs point out:
http:// paste.openstack .org/show/ 728539/
That the migration fails and we're processing the "Migration completed" lifecycle event and that's what is triggering the activation of the dest host port binding right before we rollback and delete the dest host port binding.
From the logs:
Aug 21 16:19:16 devstack2 nova-compute[ 25894]: INFO nova.compute. manager [None req-c8b07cbc- 52f7-4d20- aacc-f3036ad90c 8d None None] [instance: fead1ca6- beab-4c47- a73e-a3ab7f7c4d e2] VM Migration completed (Lifecycle Event)
Aug 21 16:19:17 devstack2 nova-compute[ 25894]: DEBUG nova.compute. manager [None req-c8b07cbc- 52f7-4d20- aacc-f3036ad90c 8d None None] [instance: fead1ca6- beab-4c47- a73e-a3ab7f7c4d e2] Binding ports to destination host: devstack5 {{(pid=25894) handle_ lifecycle_ event /opt/stack/ nova/nova/ compute/ manager. py:1130} }
Aug 21 16:19:17 devstack2 nova-compute[ 25894]: ERROR nova.virt. libvirt. driver [-] [instance: fead1ca6- beab-4c47- a73e-a3ab7f7c4d e2] Live Migration failure: internal error: qemu unexpectedly closed the monitor: 2018-08- 21T15:19: 15.187710Z qemu-kvm: -chardev socket, id=charnet0, path=/var/ run/openvswitch /vhuef02ea3f- 9a,server: info: QEMU waiting
So we need to fix the libvirt driver's handling of the 'migration completed' event to not send it back up to the compute manager if the job failed.