Synchronous migration blocks the VMM thread, causing clh to be unable to respond to other API requests. Refactoring the migration process to run asynchronously in a separate thread can solve this problem.
To improve live migration stability, we should explicitly define a set of api requests that are allowed during live migration. Right now there are the following api requests that are required during live migration:
- info
- counters
- cancel migration (being implemented)
- migration info queries (being implemented)
Any feedback and suggestions are welcome.