I found an issue with this patch when migrating VMs without OVS
interfaces. I'm fixing that issue now, and will be posting V2 of this
series soon.
On Sep 14, 2012, at 11:38 AM, Kyle Mestery wrote:
This series of commits has the end goal of allowing per-port data
stored
in the Open vSwitch DB to be transported during live migration. This is
done by first providing a generic infrastructure for transporting network
data, adding some utility functions specific to Open vSwitch, and hooking
the two together.
The framework provided is generic in that other networking data could be
transferred as well by simply adding in additional hooks as needed.
Kyle Mestery (3):
Add the ability for the Qemu V3 migration protocol to include
transporting network configuration. A generic framework is proposed
with this patch to allow for the transfer of opaque data.
Add utility functions for Open vSwitch to both save per-port data
before a live migration, and restore the per-port data after a
live migration.
Transport Open vSwitch per-port data during live migration by
using the utility functions virNetDevOpenvswitchGetMigrateData()
and virNetDevOpenvswitchSetMigrateData().
cfg.mk | 9 +
configure.ac | 36 +-
docs/formatdomain.html.in | 45 +-
docs/schemas/domaincommon.rng | 75 ++-
src/conf/domain_conf.c | 394 +++++++++++-
src/conf/domain_conf.h | 32 +
src/esx/esx_util.c | 7 +-
src/libvirt.c | 20 +-
src/libvirt_private.syms | 5 +
src/parallels/parallels_driver.c | 133 +++-
src/qemu/qemu_capabilities.c | 679 +++++++++++++++------
src/qemu/qemu_capabilities.h | 49 +-
src/qemu/qemu_command.c | 660 +++++++++++---------
src/qemu/qemu_command.h | 56 +-
src/qemu/qemu_domain.c | 16 +-
src/qemu/qemu_domain.h | 4 +-
src/qemu/qemu_driver.c | 50 +-
src/qemu/qemu_hotplug.c | 141 ++---
src/qemu/qemu_migration.c | 295 ++++++++-
src/qemu/qemu_monitor.c | 114 ++--
src/qemu/qemu_monitor.h | 10 +-
src/qemu/qemu_monitor_json.c | 77 ++-
src/qemu/qemu_monitor_json.h | 5 +-
src/qemu/qemu_monitor_text.c | 335 +++-------
src/qemu/qemu_process.c | 62 +-
src/rpc/virnetserverprogram.c | 11 +-
src/rpc/virnettlscontext.c | 6 +-
src/util/bitmap.c | 19 +
src/util/bitmap.h | 6 +
src/util/virnetdevopenvswitch.c | 71 +++
src/util/virnetdevopenvswitch.h | 6 +
src/vbox/vbox_tmpl.c | 14 +-
src/vmware/vmware_driver.c | 4 +-
tests/Makefile.am | 10 +-
.../domain-parallels-ct-simple.xml | 27 +
tests/qemuhelptest.c | 16 +-
tests/qemumonitortestutils.c | 12 +-
.../qemuxml2argv-cpu-eoi-disabled.args | 4 +
.../qemuxml2argv-cpu-eoi-disabled.xml | 28 +
.../qemuxml2argv-cpu-eoi-enabled.args | 4 +
.../qemuxml2argv-cpu-eoi-enabled.xml | 28 +
.../qemuxml2argv-eoi-disabled.args | 4 +
.../qemuxml2argvdata/qemuxml2argv-eoi-disabled.xml | 25 +
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.args | 4 +
.../qemuxml2argvdata/qemuxml2argv-eoi-enabled.xml | 25 +
.../qemuxml2argv-usb-redir-filter.args | 10 +
.../qemuxml2argv-usb-redir-filter.xml | 45 ++
tests/qemuxml2argvtest.c | 23 +-
tests/qemuxml2xmltest.c | 6 +
tests/qemuxmlnstest.c | 6 +-
tests/undefine | 72 ---
tests/virsh-undefine | 72 +++
tools/virsh-domain.c | 4 +-
tools/virsh-network.c | 8 +-
tools/virsh-pool.c | 8 +-
tools/virsh-volume.c | 8 +-
56 files changed, 2678 insertions(+), 1217 deletions(-)
create mode 100644 tests/domainschemadata/domain-parallels-ct-simple.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-disabled.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-disabled.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-enabled.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-cpu-eoi-enabled.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-eoi-disabled.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-eoi-disabled.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-eoi-enabled.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-eoi-enabled.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-redir-filter.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-usb-redir-filter.xml
delete mode 100755 tests/undefine
create mode 100755 tests/virsh-undefine
--
1.7.11.4