With blockdev we need to interpret the fields in order to actually
use them in qemu. Unfortunately we didn't do that for some and
libguestfs was using them in backing store strings.
Model all known curl driver options and pass-through ssh driver options
as we don't model the ssh driver.
Changes can be fetched from:
git fetch
https://gitlab.com/pipo.sk/libvirt.git json-props
https://gitlab.com/pipo.sk/libvirt/-/commits/json-props
Peter Krempa (30):
qemuBlockStorageSourceDetachPrepare: Get rid of cleanup section
qemu: Don't take double pointer in qemuDomainSecretInfoFree
qemuMigrationParamsResetTLS: Adapt to modern memory management
qemuMigrationParamsResetTLS: Fix comment
qemu: domain: Split out encryption of secret object data
qemu: Introduce another helper for creating alias for a 'secret'
object
qemuDomainSecretStorageSourcePrepare: Fix naming of alias variables
qemuDomainDeviceDiskDefPostParseRestoreSecAlias: Hardcode restored
aliases
qemu: Split out initialization of secrets for 'iscsi' hostdevs
qemuDomainSecretAESSetupFromSecret: Use 'qemuAliasForSecret'
qemuDomainSecretStorageSourcePrepare: Change aliases for disk secrets
qemuDomainGetSecretAESAlias: Replace outstanding uses with
qemuAliasForSecret
conf: Add support for modifying ssl validation for https/ftps disks
conf: Add support for cookies for HTTP based disks
conf: Add support for setting timeout and readahead size for network
disks
qemuDomainValidateStorageSource: Validate new network storage
parameters
qemuxml2argvtest: Add test case for disks with http(s) source
qemu: block: Implement ssl verification configuration
qemu: domain: Store data for 'secret' object representing http cookies
qemuDomainSecretStorageSourcePrepare: Setup secret for http cookies
qemu: Handle hotplug and commandline for secret objects for http
cookies
qemu: block: Add support for HTTP cookies
qemu: block: Implement readahead and timeout properties for 'curl'
driver
virstoragefile: Add JSON parser for 'sslverify', 'readahead',
'cookies' and 'timeout'
virStorageSourceParseBackingJSONUri: Handle undocumented value 'off'
for sslverify
qemublocktest: Load QMP schema earlier
qemublocktest: Extract schema root for blockdev-add validation
qemublocktest: XMLjsonXML: Test formatting/parsing of modern JSON
qemublocktest: Add JSON->JSON test cases for block device backends
qemu: Pass through arguments of 'ssh' block driver used by libguestfs
docs/formatdomain.html.in | 35 ++
docs/schemas/domaincommon.rng | 98 ++++-
src/conf/domain_conf.c | 119 +++++++
src/libvirt_private.syms | 1 +
src/qemu/qemu_alias.c | 32 +-
src/qemu/qemu_alias.h | 4 +-
src/qemu/qemu_block.c | 50 ++-
src/qemu/qemu_block.h | 3 +
src/qemu/qemu_command.c | 5 +
src/qemu/qemu_domain.c | 337 +++++++++++-------
src/qemu/qemu_domain.h | 7 +-
src/qemu/qemu_hotplug.c | 4 +-
src/qemu/qemu_migration_params.c | 16 +-
src/util/virstoragefile.c | 229 +++++++++++-
src/util/virstoragefile.h | 24 ++
.../disk-network-http.xml | 19 +
tests/qemublocktest.c | 136 ++++++-
.../jsontojson/curl-libguestfs-in.json | 1 +
.../jsontojson/curl-libguestfs-out.json | 9 +
.../ssh-passthrough-libguestfs-in.json | 1 +
.../ssh-passthrough-libguestfs-out.json | 14 +
tests/qemustatusxml2xmldata/modern-in.xml | 1 +
...-backing-chains-noindex.x86_64-2.12.0.args | 4 +-
...-backing-chains-noindex.x86_64-latest.args | 6 +-
...sk-hostdev-scsi-virtio-iscsi-auth-AES.args | 6 +-
.../disk-network-http.x86_64-latest.args | 67 ++++
tests/qemuxml2argvdata/disk-network-http.xml | 61 ++++
.../disk-network-iscsi.x86_64-2.12.0.args | 12 +-
.../disk-network-iscsi.x86_64-latest.args | 8 +-
.../disk-network-rbd.x86_64-2.12.0.args | 4 +-
.../disk-network-rbd.x86_64-latest.args | 4 +-
...isk-network-source-auth.x86_64-2.12.0.args | 10 +-
...isk-network-source-auth.x86_64-latest.args | 8 +-
.../disk-nvme.x86_64-latest.args | 4 +-
.../encrypted-disk-usage.args | 4 +-
tests/qemuxml2argvdata/encrypted-disk.args | 4 +-
.../luks-disks-source-qcow2.args | 24 +-
...luks-disks-source-qcow2.x86_64-latest.args | 32 +-
tests/qemuxml2argvdata/luks-disks-source.args | 26 +-
tests/qemuxml2argvdata/luks-disks.args | 10 +-
tests/qemuxml2argvdata/user-aliases.args | 4 +-
tests/qemuxml2argvtest.c | 1 +
tests/virstoragetest.c | 30 ++
43 files changed, 1197 insertions(+), 277 deletions(-)
create mode 100644 tests/qemublocktestdata/jsontojson/curl-libguestfs-in.json
create mode 100644 tests/qemublocktestdata/jsontojson/curl-libguestfs-out.json
create mode 100644 tests/qemublocktestdata/jsontojson/ssh-passthrough-libguestfs-in.json
create mode 100644
tests/qemublocktestdata/jsontojson/ssh-passthrough-libguestfs-out.json
create mode 100644 tests/qemuxml2argvdata/disk-network-http.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/disk-network-http.xml
--
2.24.1