v1:
https://www.redhat.com/archives/libvir-list/2019-January/msg00479.html
Changes since v1:
* The first 4 patches were already R-by'd and pushed.
* From v1, rework patch 5 & 6 into what now is patches 8 & 9. The
format of the output for what results in the output for the
connectGetCapabilities (virConnectGetCapabilities).
* From v1, drop patch 7
* In v2, patches 1-7 are new as a result of work done for patches 10-17.
patches 1-5 were posted upstream, but left unreviewed:
https://www.redhat.com/archives/libvir-list/2019-February/msg00333.html
These essentially ensure the volOptions and poolOptions don't list
or use something unexpected per documentation. The doc patch is a
simple update to add some missing text and fix an entry
* Patches 10-17 are new to implement the ability to get/format the
Storage Driver backend capabilities via:
storageConnectGetStoragePoolCapabilities
virConnectGetStoragePoolCapabilities
similar to how virConnectGetDomainCapabilities returns domain specific
output. The output is essentially what is provided in the poolOptions
and volOptions from storage_conf as valid values for format type fields
for pool and/or volume as well as an enumerated list for the required
source elements for creation. Whether the latter is useful or not was
not clear, but since it is something that can cause a creation error
when missing, I figured it'd be useful. The new virsh command follows
then domcapabilities nomenclature.
John Ferlan (17):
conf: Remove volOptions for VIR_STORAGE_POOL_SHEEPDOG
conf: Remove volOptions for VIR_STORAGE_POOL_RBD
conf: Remove volOptions for VIR_STORAGE_POOL_SCSI
conf: Remove volOptions for VIR_STORAGE_POOL_ISCSI[_DIRECT]
conf: Remove volOptions for VIR_STORAGE_POOL_MPATH
conf: Remove defaultFormat from VIR_STORAGE_POOL_ZFS
docs: Fix a few storage.html.in typos
conf: Introduce storage pool functions into capabilities
storage: Process storage pool capabilities
docs: Add schema for storage pool capabilities
conf: Add storage pool capability formatting
tests: Introduce storage pool capabilites test
docs: Add description for Storage Pool Capabilities
libvirt: Introduce virConnectGetStoragePoolCapabilities
storage: Introduce storageConnectGetStoragePoolCapabilities
virsh: Expose virConnectGetStoragePoolCapabilities
docs: Add news article
docs/docs.html.in | 1 +
docs/format.html.in | 1 +
docs/formatstoragecaps.html.in | 108 +++++++
docs/index.html.in | 1 +
docs/news.xml | 12 +
docs/schemas/storagepoolcaps.rng | 88 ++++++
docs/storage.html.in | 8 +-
include/libvirt/libvirt-storage.h | 4 +
libvirt.spec.in | 1 +
mingw-libvirt.spec.in | 2 +
src/conf/Makefile.inc.am | 2 +
src/conf/capabilities.c | 74 +++++
src/conf/capabilities.h | 15 +
src/conf/storage_capabilities.c | 135 +++++++++
src/conf/storage_capabilities.h | 41 +++
src/conf/storage_conf.c | 131 +++++++--
src/conf/storage_conf.h | 7 +
src/conf/virstorageobj.h | 5 +
src/driver-storage.h | 5 +
src/libvirt-storage.c | 40 +++
src/libvirt_private.syms | 8 +
src/libvirt_public.syms | 5 +
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 15 +-
src/remote_protocol-structs | 7 +
src/storage/storage_backend.c | 16 ++
src/storage/storage_backend.h | 3 +
src/storage/storage_driver.c | 44 +++
tests/Makefile.am | 7 +
.../storagepoolcapsschemadata/poolcaps-fs.xml | 268 ++++++++++++++++++
.../poolcaps-full.xml | 268 ++++++++++++++++++
tests/storagepoolcapstest.c | 124 ++++++++
tests/storagevolxml2xmlout/vol-sheepdog.xml | 1 -
tests/virschematest.c | 1 +
tools/virsh-pool.c | 42 +++
tools/virsh.pod | 7 +
36 files changed, 1473 insertions(+), 25 deletions(-)
create mode 100644 docs/formatstoragecaps.html.in
create mode 100644 docs/schemas/storagepoolcaps.rng
create mode 100644 src/conf/storage_capabilities.c
create mode 100644 src/conf/storage_capabilities.h
create mode 100644 tests/storagepoolcapsschemadata/poolcaps-fs.xml
create mode 100644 tests/storagepoolcapsschemadata/poolcaps-full.xml
create mode 100644 tests/storagepoolcapstest.c
ACK after you fix virsh command name, and what you already pointed out
s/5.1.0/5.2.0/g. Sorry for late review.
Michal