[libvirt] [PATCH v7 00/11] Add support for Veritas HyperScale (VxHS) block device protocol

John Ferlan posted 11 patches 6 years, 7 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
docs/formatdomain.html.in                          |    45 +-
docs/schemas/domaincommon.rng                      |    18 +
src/conf/domain_conf.c                             |    28 +-
src/libxl/libxl_conf.c                             |     1 +
src/qemu/libvirtd_qemu.aug                         |     4 +
src/qemu/qemu.conf                                 |    34 +
src/qemu/qemu_block.c                              |    44 +
src/qemu/qemu_capabilities.c                       |     4 +
src/qemu/qemu_capabilities.h                       |     3 +
src/qemu/qemu_command.c                            |    38 +
src/qemu/qemu_conf.c                               |    16 +
src/qemu/qemu_conf.h                               |     3 +
src/qemu/qemu_domain.c                             |    71 +
src/qemu/qemu_domain.h                             |    11 +
src/qemu/qemu_driver.c                             |     3 +
src/qemu/qemu_hotplug.c                            |    73 +
src/qemu/qemu_parse_command.c                      |    15 +
src/qemu/qemu_process.c                            |    33 +
src/qemu/test_libvirtd_qemu.aug.in                 |     2 +
src/util/virstoragefile.c                          |    58 +-
src/util/virstoragefile.h                          |    14 +
src/xenconfig/xen_xl.c                             |     1 +
.../caps_2.10.0.x86_64.replies                     | 18144 +++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   799 +
tests/qemucapabilitiestest.c                       |     1 +
...-disk-drive-network-tlsx509-multidisk-vxhs.args |    43 +
...v-disk-drive-network-tlsx509-multidisk-vxhs.xml |    50 +
...muxml2argv-disk-drive-network-tlsx509-vxhs.args |    30 +
...emuxml2argv-disk-drive-network-tlsx509-vxhs.xml |    32 +
.../qemuxml2argv-disk-drive-network-vxhs.args      |    27 +
.../qemuxml2argv-disk-drive-network-vxhs.xml       |    32 +
tests/qemuxml2argvtest.c                           |     8 +
...uxml2xmlout-disk-drive-network-tlsx509-vxhs.xml |    34 +
.../qemuxml2xmlout-disk-drive-network-vxhs.xml     |    34 +
tests/qemuxml2xmltest.c                            |     2 +
tests/virstoragetest.c                             |    23 +
36 files changed, 19766 insertions(+), 12 deletions(-)
create mode 100644 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-vxhs.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-vxhs.xml
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-vxhs.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-vxhs.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-tlsx509-vxhs.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-vxhs.xml
[libvirt] [PATCH v7 00/11] Add support for Veritas HyperScale (VxHS) block device protocol
Posted by John Ferlan 6 years, 7 months ago
v6: https://www.redhat.com/archives/libvir-list/2017-August/msg00993.html

Changes/notes since v6:

Patch1 - Used the "right" process to create the files. There's also a
         separate patch on list which I used mainly to "extract" the
         details/needs from being associated specifically with the
         addition of VxHS support

Patch2 - Altered the commit message slightly to note that lack of
         ability to actually check that even though something is
         introspectible, there's no "non-hacky" way to determine if
         the QEMU image being used was built "--enable=vxhs" *unless*
         (as Jeff Cody points out) we scan --help output for vxhs within
         the "Supported formats:" line.  We're avoiding that path for
         many different reasons.

Patch3 -> Patch5

       - No change, patches ACKed.

Patch6 - Removed qemuCaps from qemuBlockStorageSourceGetVxHSProps and
         created a qemuProcessStartValidateDisks which will run the
         disk list looking for NETWORK and VXHS to ensure the
         QEMU_CAPS_VXHS bit is set. Also added a note here similar
         to patch2 describing the "gotcha" with the processing.

Patch7 - Altered the text of the vxhs_tls description a bit, not much

Patch8 - Altered the formatdomain.html.in description a bit in order to
         remove the previous restriction surrounding when vxhs_tls = 0,
         but src->haveTLS = YES.

         Added a tlsFromConfig boolean to virStorageSource to match the
         same logic as chardev's use. Documented it's use though as every
         time I've read that for chardev, I've first said tlsFromConfig
         must mean domain config, when in fact it's meant to be qemu.conf.

         Make code adjustments to handle tlsFromConfig

Patch9 - Altered the order here - used to be flip-flopped with subsequent
         patch. Create the qemuDomainPrepareDiskSource[TLS] API's in order
         manage the src->haveTLS setting just as we've done for chardev.

         Also, introduce and manage a virStorageSource "tlsAlias" field.
         This is where we'll "set" the alias to be used.

Patch10- Fixed up the virStorageSourceParseBackingJSONVxHS and
         TEST_BACKING_PARSE to manage the new src->tlsAlias field.

Patch11- Make this all work for qemu_command *and* qemu_hotplug - well
         theoretically at least.

         The hotplug code is new in this patch - it has essentially
         copied what was needed from qemuDomainAddChardevTLSObjects
         and applied it to the needs for disks in general, but mainly
         for VxHS in particular.

         The qemuDomainAddDiskTLSObjects also doesn't set a 'tlscreds'
         boolean like Chardev does since JSON object generation doesn't
         occur in the depths of qemu_monitor_json, but rather it occurs
         in qemu_block and we have everything we need there. Probably
         could have done the chardev code differently to keep the TLS
         alias around...

         Although I don't believe VxHS has support/need for MassUSB
         and SCSI Disk operations, adding the infrastructure there
         should be usable for future needs. I also left a note about
         future needs that may arise if some network disk type requires
         a secret to decrypt a server key (although I cannot imagine
         the need, someone else may have a better imagination than me).

         The rest of the qemu_command changes remove the qemuCaps and
         diskAlias parameters from the qemuBlockStorageSourceGetBackendProps
         API and use what's been (hopefully) properly set up during
         qemuDomainPrepareDiskSourceTLS.

         Finally former patch12 has been removed since there is no
         restriction regarding vxhs_tls = 0 and "tls = 'yes'"... Also
         former patch13 has been merged into patch11.

Still to be done:

  Patch12 - A news.xml article for 3.8.0, but 3.7.0 isn't closed yet
            so I'm waiting...

  Testing, testing, testing, testing, testing, and more testing. Hopefully
  even some hotplug testing as I have absolutely no way to know if the
  changes I've made actually work since I don't have a Veritas enviroment
  set up. I leave the testing/debugging to Ashish.

  I do believe that patches 1-5 (e.g. everything not TLS related are
  reasonable and ready once 3.8.0 opens for business).


Ashish Mittal (8):
  storage: Introduce VIR_STORAGE_NET_PROTOCOL_VXHS
  docs: Add schema and docs for Veritas HyperScale (VxHS)
  util: storage: Add JSON backing volume parse for VxHS
  qemu: Add qemu command line generation for a VxHS block device
  conf: Introduce TLS options for VxHS block device clients
  util: Add TLS attributes to virStorageSource
  util: Add virstoragetest to parse/format a tls='yes'
  qemu: Add TLS support for Veritas HyperScale (VxHS)

John Ferlan (3):
  qemu: Add QEMU 2.10 x86_64 the generated capabilities
  qemu: Detect support for vxhs
  qemu: Introduce qemuDomainPrepareDiskSource

 docs/formatdomain.html.in                          |    45 +-
 docs/schemas/domaincommon.rng                      |    18 +
 src/conf/domain_conf.c                             |    28 +-
 src/libxl/libxl_conf.c                             |     1 +
 src/qemu/libvirtd_qemu.aug                         |     4 +
 src/qemu/qemu.conf                                 |    34 +
 src/qemu/qemu_block.c                              |    44 +
 src/qemu/qemu_capabilities.c                       |     4 +
 src/qemu/qemu_capabilities.h                       |     3 +
 src/qemu/qemu_command.c                            |    38 +
 src/qemu/qemu_conf.c                               |    16 +
 src/qemu/qemu_conf.h                               |     3 +
 src/qemu/qemu_domain.c                             |    71 +
 src/qemu/qemu_domain.h                             |    11 +
 src/qemu/qemu_driver.c                             |     3 +
 src/qemu/qemu_hotplug.c                            |    73 +
 src/qemu/qemu_parse_command.c                      |    15 +
 src/qemu/qemu_process.c                            |    33 +
 src/qemu/test_libvirtd_qemu.aug.in                 |     2 +
 src/util/virstoragefile.c                          |    58 +-
 src/util/virstoragefile.h                          |    14 +
 src/xenconfig/xen_xl.c                             |     1 +
 .../caps_2.10.0.x86_64.replies                     | 18144 +++++++++++++++++++
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   799 +
 tests/qemucapabilitiestest.c                       |     1 +
 ...-disk-drive-network-tlsx509-multidisk-vxhs.args |    43 +
 ...v-disk-drive-network-tlsx509-multidisk-vxhs.xml |    50 +
 ...muxml2argv-disk-drive-network-tlsx509-vxhs.args |    30 +
 ...emuxml2argv-disk-drive-network-tlsx509-vxhs.xml |    32 +
 .../qemuxml2argv-disk-drive-network-vxhs.args      |    27 +
 .../qemuxml2argv-disk-drive-network-vxhs.xml       |    32 +
 tests/qemuxml2argvtest.c                           |     8 +
 ...uxml2xmlout-disk-drive-network-tlsx509-vxhs.xml |    34 +
 .../qemuxml2xmlout-disk-drive-network-vxhs.xml     |    34 +
 tests/qemuxml2xmltest.c                            |     2 +
 tests/virstoragetest.c                             |    23 +
 36 files changed, 19766 insertions(+), 12 deletions(-)
 create mode 100644 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.replies
 create mode 100644 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-multidisk-vxhs.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-vxhs.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-tlsx509-vxhs.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-vxhs.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-vxhs.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-tlsx509-vxhs.xml
 create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-network-vxhs.xml

-- 
2.9.5

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