Comment 9 for bug 1946752

Revision history for this message
Kashyap Chamarthy (kashyapc) wrote :

[I'm commenting here, since the other comments are here]

I just talked to one of the libvirt maintainers (thanks, Daniel Berrangé), and the below is the summary:

Migrating a paused instance with post-copy is the same as using pre-copy.

"When postcopy is activated the guest is started on the target host immediately. In the background the pre-copy will carry on streaming across pages, while QEMU in the target will request any pages it touches async. If the QEMU on the target is paused then there's no async page requests, so the whole thing it functionally equivalent to just using pre-copy."

That said, they acknowledge that the libvirt check is too strict: "libvirt should allow VIR_MIGRATE_POSTCOPY to be set even if a guest is paused, as that flag merely says that we want to use post-copy later".

    - - -

Meanwhile, this is relatively easy (as the draft patch above shows) to fix this in Nova by adding the flag into account in the libvirt driver.