On 1/21/20 3:28 PM, Milan Zamazal wrote:
Hi,
when a normally running VM is migrated, libvirt sends
VIR_DOMAIN_EVENT_RESUMED_MIGRATED event on the destination once the
migration completes. I can see that when a paused VM is migrated,
libvirt sends VIR_DOMAIN_EVENT_SUSPENDED_PAUSED instead.
Since there seems to be nothing migration specific about
VIR_DOMAIN_EVENT_SUSPENDED_PAUSED event, my question is: Is it safe to
assume on the destination that this event signals completion of the
incoming migration (unless VIR_DOMAIN_EVENT_RESUMED_MIGRATED is received
before)?
Yes. This is the code that handles the finish phase of migration:
https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_migration.c...
which can be read as the following pseudo code:
if (postCopy)
sendEvent(VIR_DOMAIN_EVENT_RESUMED_MIGRATED);
if (domain.paused)
sendEvent(VIR_DOMAIN_EVENT_SUSPENDED_PAUSED);
Michal