[libvirt] [PATCH 0/3] Transport Open vSwitch per-port data during live migration

Kyle Mestery (kmestery) kmestery at cisco.com
Fri Sep 14 17:08:28 UTC 2012


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
> 





More information about the libvir-list mailing list