[libvirt] [PATCH RFC v2 0/5] conf: add net device prefix capability

Joao Martins joao.m.martins at oracle.com
Wed Feb 3 21:40:32 UTC 2016


Hey,

Back in the pre 1.3.0 release [0] we had a regression when migrating
domains in libxl (introduced by the reverted commit d2e5538b1).

The chosen solution to address this problem was to introduce a
capability to be used by the virDomainNetDefFormat() and
virDomainNetDefParseXML() routines. RFCv1 implemented this by "caching"
netprefix in the domain definition[1]; as suggested in the review[1] v2
implements it by adding the virCapsPtr to the relevant APIs and also
propagating the API change to all drivers. It is divided as follows:

	Patch 1: Adds prefix to capabilites
	Patch 2: Add prefix to NetDefParseXML
	Patch 3,4: API changes to include virCapsPtr and netprefix (New)
	Patch 5: set prefix on libxl (Acked)

Having this series and the reverted commit applied, I can
successfully migrate a domain without seeing the same interface
name on both source and destination node with libxl.

Note: I haven't been able to compile-test all drivers, specifically bhyve,
vz and hyperv. Testing was made with libxl.

Thanks!
Joao

[0] https://www.redhat.com/archives/libvir-list/2015-December/msg00279.html
[1] https://www.redhat.com/archives/libvir-list/2016-January/msg00886.html

Joao Martins (5):
  conf: add net device prefix to capabilities
  conf: add prefix in virDomainNetDefParseXML
  conf: add caps to virDomainDefFormat*
  conf: add caps to virDomainSaveConfig
  libxl: set net device prefix

 src/bhyve/bhyve_driver.c    | 11 +++++++++--
 src/conf/capabilities.c     | 22 +++++++++++++++++++++
 src/conf/capabilities.h     |  4 ++++
 src/conf/domain_conf.c      | 42 +++++++++++++++++++++++++++-------------
 src/conf/domain_conf.h      |  4 ++++
 src/conf/snapshot_conf.c    |  2 +-
 src/esx/esx_driver.c        |  5 +++--
 src/libvirt_private.syms    |  1 +
 src/libxl/libxl_conf.c      |  3 +++
 src/libxl/libxl_conf.h      |  4 ++++
 src/libxl/libxl_domain.c    |  2 +-
 src/libxl/libxl_driver.c    | 24 +++++++++++++----------
 src/libxl/libxl_migration.c |  2 +-
 src/lxc/lxc_driver.c        | 24 +++++++++++++----------
 src/lxc/lxc_process.c       | 12 ++++++------
 src/network/bridge_driver.c |  4 ++--
 src/openvz/openvz_driver.c  |  5 +++--
 src/phyp/phyp_driver.c      |  2 +-
 src/qemu/qemu_blockjob.c    |  1 +
 src/qemu/qemu_domain.c      |  2 +-
 src/qemu/qemu_driver.c      | 47 +++++++++++++++++++++++++--------------------
 src/qemu/qemu_migration.c   |  3 ++-
 src/qemu/qemu_process.c     |  5 +++--
 src/test/test_driver.c      |  6 ++++--
 src/uml/uml_driver.c        |  4 ++--
 src/vbox/vbox_common.c      |  3 ++-
 src/vmware/vmware_driver.c  |  5 +++--
 src/vz/vz_driver.c          |  3 ++-
 src/xen/xen_driver.c        |  4 ++--
 src/xenapi/xenapi_driver.c  |  5 +++--
 tests/lxcconf2xmltest.c     |  2 +-
 tests/openvzutilstest.c     |  2 +-
 tests/qemuargv2xmltest.c    |  2 +-
 tests/qemuhotplugtest.c     |  3 ++-
 tests/sexpr2xmltest.c       |  2 +-
 tests/testutils.c           |  2 +-
 tests/vmx2xmltest.c         |  3 ++-
 tests/xlconfigtest.c        |  2 +-
 tests/xmconfigtest.c        |  2 +-
 39 files changed, 184 insertions(+), 97 deletions(-)

-- 
2.1.4




More information about the libvir-list mailing list