Description of problem: When a migration is running, libvirt becomes completely inaccessible, with all other calls blocking until the migration completes. Version-Release number of selected component (if applicable): Tested on 0.8.5 and 0.8.6, including the default built for Fedora 14 on Fedora 14 How reproducible: Always Steps to Reproduce: 1. Begin a migration of a qemu domain 2. Attempt any other libvirt action; 'virsh list' is an easy example Actual results: The second command will stall until the migration is complete Expected results: The second command should return immediately with results Additional info:
I recently had a chance to come back to this problem, and I'm sorry to say that it hasn't gotten any better. I tested on debian sid with a stock install of kvm 0.14 and libvirt 0.8.8-3 -- i'm still completely unable to interact with libvirt while an outgoing migration is in progress, although it seems as though actual migrations have gotten much faster.
Should be better now, thanks to commits like these: commit d58e91a812e254d1384370fe6f3c7b0b24cc952a Author: Jiri Denemark <jdenemar> Date: Tue Jul 19 02:27:32 2011 +0200 qemu: Migration job on source daemon Make MIGRATION_OUT use the new helper methods. This also introduces new protection to migration v3 process: the migration job is held from Begin to Confirm to avoid changes to a domain during migration (esp. between Begin and Perform phases). This change is automatically applied to p2p and tunneled migrations. For normal migration, this requires support from a client. In other words, if an old (pre 0.9.4) client starts normal migration of a domain, the domain will not be protected against changes between Begin and Perform steps. If you can still reproduce the problem on 0.9.11, feel free to reopen this, but for now I'm going to close it.