Michal Privoznik <mprivozn(a)redhat.com> writes:
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);
OK, thank you for clarification.
Regards,
Milan