Description of problem: Libvirt does not allow to migrate a paused VM with post-copy migration. If migration policy of a oVirt cluster contains a "postcopy" action, every attempt to migrate a paused VM fails because libvirt returns an error, not allowing migration to start: libvirtError: argument unsupported: post-copy migration is not supported with n on-live or paused migration On the other side, the current oVirt Post-copy migration policy uses post-copy only as last resort, when a regular migration stalls. It is unlikely that migration will be stalling when migrating a paused VM, so it is safe to use a Post-copy policy with it. I propose to allow migration to start with such migration policy. If migration stalls and "postcopy" action is reached, libvirt may cancel the migration at that moment.
The benefit of post-copy, over traditional pre-copy mode, is that it can guarantee migration completion no matter how heavily the guest is dirtying RAM. If the VM is paused, then obviously the guest isn't dirtying RAM at all, at which point using post-copy instead of pre-copy is pointless. That said, I don't see a particular reason why libvirt must forbid post-copy in this case.