NOTE that minimal command to migrate vz domain is like next:
virsh -c vz:///system migrate --direct 200 shiny0 --migrateuri vz+ssh://shiny0/system
--live --persistent --compressed
==Difference from v1:
1. Patch is quite different. First patchset implements migration thru managed
migration scheme. This one goes thru p2p scheme. I belive this is a better
approach. Vz migration is done via vz sdk and first patchset uses 5 phased
migration only to get a token from destination on prepare phase which is kind a
misuse. This patch just adds vz specific function to driver interface
to archive the same goal.
2. Offline migration is supported as there is no more dependency on current
flow of managed migration scheme.
==Difference from v2:
1. Implement thru direct migration instead of p2p. p2p is just managed
5-staged migration when managing is done on daemon side. Vz migration stages
are all hidden in vz sdk and thus it would be more consistent to use direct
scheme.
2. Use existing driver function for prepare migration phase to pass session
uuid from destination to source instead of new one. As vz migration is direct
one we will not use prepare phase function in a straight forward manner
anyway.
src/libvirt-domain.c | 3 +-
src/vz/vz_driver.c | 315 ++++++++++++++++++++++++++++++++++++++++++++++++++
src/vz/vz_sdk.c | 86 ++++++++++++---
src/vz/vz_sdk.h | 6 +
src/vz/vz_utils.h | 4 +-
5 files changed, 398 insertions(+), 16 deletions(-)