Ján Tomko wrote:
On Mon, May 02, 2016 at 07:01:16PM -0600, Jim Fehlig wrote:
> Hi all,
>
> This patch adds support for Xen migration stream V2 to the libvirt
> libxl driver. In the process it fixes save/restore and migration
> tests in OSSTest, which have been failing since libvirt commit
> e7440656.
>
> Patch1 changes the libxl API requirement from version 4.2 to 4.4,
> enabling use of an extended libxl_domain_create_restore() function
> that allows passing restore parameters such as stream version.
>
> Patch2 adds support for migration stream V2 in the basic save/restore
> logic, taking advantage of a save image header that includes a version
> field. The version is set to '2' if the host produces a V2 migration
> stream. This patch fixes the failing save/restore tests in OSSTest.
>
> Patch3 adds support for migration stream V2 in the migration logic.
> The migration code does not use the save image header and instead
> uses libvirt's migration protocol to transfer domain configuration
> and other such goodies from source to destination. The patch
> enables sending version information in the Begin and Prepare
> migration phases so the correct stream version information can be
> passed to libxl_domain_create_restore(). An upshot of this approach
> is safely detecting and aborting a migration from a V2 host to a
> V1-only host. This patch fixes the failing migration tests in
> OSSTest.
>
> Jim Fehlig (3):
> libxl: switch to using libxl_domain_create_restore from v4.4 API
> libxl: support Xen migration stream V2 in save/restore
> libxl: support migration stream V2 in migration
>
> configure.ac | 9 +-
> src/libxl/libxl_conf.h | 6 +-
> src/libxl/libxl_domain.c | 46 ++++++++--
> src/libxl/libxl_domain.h | 14 ++-
> src/libxl/libxl_driver.c | 27 +++---
> src/libxl/libxl_migration.c | 204 +++++++++++++++++++++++++++++++++++++++++++-
> src/libxl/libxl_migration.h | 6 +-
> 7 files changed, 282 insertions(+), 30 deletions(-)
ACK series
Thanks, pushed now.
Note to all: With this change, libvirt.git will no longer build with Xen < 4.4.
Wearing either upstream maintainer or distro packager hat, I don't really care :-).
With upstream hat on, Xen 4.2 is no longer maintained. Xen 4.3 saw the end of
general support in Jan 2015 and will end the subsequent 18 months of security
support in early July. So in a little over a month 4.3 will be dead.
With distro packager hat on, I'm not interested in using a new libvirt with such
an old Xen. I hope others feel the same. If not, patches are welcome.
Regards,
Jim