[libvirt] [PATCH 00/15] qemu: Implement non-shared storage migration via TLS (blockdev-add saga)

Peter Krempa pkrempa at redhat.com
Fri May 18 11:28:50 UTC 2018


Implement the non-shared storage migration when TLS is enabled. This is
done by using blockdev-add to add the NBD endpoint with the TLS
environment alias configured properly.

Peter Krempa (15):
  qemu: block: Don't nest storage layer properties into format layer
  conf: domain: Export virDomainStorageSourceParse
  qemu: migration: Don't access disk members without lock
  qemu: caps: Add capability for blockdev-add/blockdev-del
  qemu: monitor: Factor out and document code to format QMP command
  qemu: monitor: Add implementation for blockdev-add and blockdev-del
  qemu: monitor: Introduce support for blockdev-mirror
  qemu: block: Add helpers for hot-adding virStorageSource via blockdev
  qemu: domain: Extract NBD disk migration private data formatting
  qemu: domain: Extract parsing of NBD status XML
  qemu: domain: Add private data for NBD migration storage source
    definition
  test: Add status XML test for NBD tls storage migration
  qemu: migration: Rename NBD migration functions
  qemu: migration: Extract code responsible for calling drive-mirror
  qemu: migration: Add support for transporting NBD over TLS

 src/conf/domain_conf.c                             |   2 +-
 src/conf/domain_conf.h                             |   6 +
 src/libvirt_private.syms                           |   1 +
 src/qemu/qemu_block.c                              | 163 +++++++-
 src/qemu/qemu_block.h                              |  34 ++
 src/qemu/qemu_capabilities.c                       |   2 +
 src/qemu/qemu_capabilities.h                       |   1 +
 src/qemu/qemu_domain.c                             | 242 +++++++++--
 src/qemu/qemu_domain.h                             |   1 +
 src/qemu/qemu_migration.c                          | 306 ++++++++++----
 src/qemu/qemu_monitor.c                            |  59 +++
 src/qemu/qemu_monitor.h                            |  16 +
 src/qemu/qemu_monitor_json.c                       | 164 +++++++-
 src/qemu/qemu_monitor_json.h                       |  18 +
 tests/qemublocktest.c                              |  11 +-
 .../xml2json/block-raw-noopts.json                 |  15 +-
 .../qemublocktestdata/xml2json/dir-fat-cache.json  |  27 +-
 .../qemublocktestdata/xml2json/dir-fat-floppy.json |  19 +-
 .../xml2json/dir-fat-readonly.json                 |  19 +-
 .../xml2json/file-backing_basic-aio_threads.json   |  82 ++--
 .../file-backing_basic-cache-directsync.json       | 108 ++---
 .../xml2json/file-backing_basic-cache-none.json    | 108 ++---
 .../xml2json/file-backing_basic-cache-unsafe.json  | 108 ++---
 .../file-backing_basic-cache-writeback.json        | 108 ++---
 .../file-backing_basic-cache-writethrough.json     | 108 ++---
 .../xml2json/file-backing_basic-detect.json        |  76 ++--
 .../xml2json/file-backing_basic-noopts.json        |  60 +--
 .../xml2json/file-backing_basic-unmap-detect.json  |  76 ++--
 .../xml2json/file-backing_basic-unmap-ignore.json  |  76 ++--
 .../xml2json/file-backing_basic-unmap.json         |  76 ++--
 .../xml2json/file-bochs-noopts.json                |  15 +-
 .../xml2json/file-cloop-noopts.json                |  15 +-
 .../xml2json/file-dmg-noopts.json                  |  15 +-
 .../xml2json/file-ploop-noopts.json                |  15 +-
 .../file-qcow2-backing-chain-encryption.json       |  30 +-
 .../xml2json/file-qcow2-backing-chain-noopts.json  | 150 +++----
 .../file-qcow2-backing-chain-unterminated.json     |  30 +-
 .../xml2json/file-raw-aio_native.json              |  25 +-
 .../qemublocktestdata/xml2json/file-raw-luks.json  |  15 +-
 .../xml2json/file-raw-noopts.json                  |  15 +-
 .../xml2json/file-vdi-noopts.json                  |  15 +-
 .../xml2json/file-vhd-noopts.json                  |  15 +-
 .../xml2json/file-vpc-noopts.json                  |  15 +-
 .../network-qcow2-backing-chain-cache-unsafe.json  |  74 ++--
 ...etwork-qcow2-backing-chain-encryption_auth.json |  64 +--
 tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   1 +
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   1 +
 tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml    |   1 +
 tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml    |   1 +
 tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml   |   1 +
 .../migration-out-nbd-tls-in.xml                   | 464 +++++++++++++++++++++
 .../migration-out-nbd-tls-out.xml                  |   1 +
 tests/qemuxml2xmltest.c                            |   1 +
 60 files changed, 2172 insertions(+), 906 deletions(-)
 create mode 100644 tests/qemustatusxml2xmldata/migration-out-nbd-tls-in.xml
 create mode 120000 tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml

-- 
2.16.2




More information about the libvir-list mailing list