[PATCH v2 00/15] Implement post-copy migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(See "Add public APIs for post-copy migration" patch for more details
about post-copy migration.)

Post-copy support was originally written by Cristian Klein in 2014, but
no one touched the series since then. Some patches in this series are
modified versions of the old patches from Cristian, some patches had to
be rewritten from scratch since libvirt code changed a lot (we started
using migration events), and some patches are completely new.

While post-copy migration is included in QEMU 2.5.0, it didn't support
everything libvirt needs. Thus you need QEMU from git to use post-copy.
Luckily, the QEMU migration capability we need to enable to use
post-copy is still prefixed with "x-", which means it's still considered
experimental. Once we are sure QEMU gives us all we need, the "x-"
prefix will be removed.

Seamless SPICE migration doesn't work with post-copy now, but I'll look
at that. Fetching statistics of a completed post-copy migration does not
work either (libvirt would report incorrect data).

This series (VIR_MIGRATE_POSTCOPY_AFTER_PRECOPY support) depends on
"Introduce migration iteration event" series I sent yesterday.

Version 2:
- VIR_MIGRATE_POSTCOPY_AFTER_PRECOPY flag dropped
- --postcopy-after-precopy implemented entirely in virsh

Cristian Klein (6):
  Add public APIs for post-copy migration
  qemu: Add QMP functions for post-copy migration
  qemu: Add support for VIR_MIGRATE_POSTCOPY flag
  qemu: Implement virDomainMigrateStartPostCopy
  virsh: Add support for post-copy migration
  virsh: Add --postcopy-after-precopy option to migrate

Jiri Denemark (9):
  Add event and state details for post-copy
  qemu: Don't explicitly stop CPUs after migration
  qemu: Handle postcopy-active migration state
  virsh: Configurable migrate --timeout action
  qemu: Don't kill running migrated domain on daemon restart
  qemu: Refactor qemuProcessRecoverMigration
  qemu: Handle post-copy migration failures
  qemu: Refuse to abort migration in post-copy mode
  qemu: Add flags to qemuMigrationWaitForCompletion

 examples/object-events/event-test.c |   9 ++
 include/libvirt/libvirt-domain.h    |  11 ++
 src/conf/domain_conf.c              |   7 +-
 src/driver-hypervisor.h             |   5 +
 src/libvirt-domain.c                | 114 +++++++++++++++
 src/libvirt_public.syms             |   4 +
 src/qemu/qemu_domain.c              |   1 +
 src/qemu/qemu_domain.h              |   3 +
 src/qemu/qemu_driver.c              |  72 ++++++++-
 src/qemu/qemu_migration.c           | 283 ++++++++++++++++++++++++++++++------
 src/qemu/qemu_migration.h           |   6 +-
 src/qemu/qemu_monitor.c             |  16 +-
 src/qemu/qemu_monitor.h             |   4 +
 src/qemu/qemu_monitor_json.c        |  23 +++
 src/qemu/qemu_monitor_json.h        |   3 +
 src/qemu/qemu_process.c             | 249 +++++++++++++++++++------------
 src/remote/remote_driver.c          |   1 +
 src/remote/remote_protocol.x        |  13 +-
 src/remote_protocol-structs         |   5 +
 tools/virsh-domain-monitor.c        |   7 +-
 tools/virsh-domain.c                | 158 ++++++++++++++++++--
 tools/virsh.pod                     |  31 +++-
 22 files changed, 865 insertions(+), 160 deletions(-)

-- 
2.7.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux