
On Mon, Apr 19, 2021 at 01:51:36PM +0100, Daniel P. Berrangé wrote:
On Mon, Apr 19, 2021 at 02:45:52PM +0200, Pavel Hrdina wrote:
On Mon, Apr 19, 2021 at 01:24:26PM +0200, Peter Krempa wrote:
On Mon, Apr 19, 2021 at 13:12:07 +0200, Pavel Hrdina wrote:
On Mon, Apr 19, 2021 at 12:53:11PM +0200, Peter Krempa wrote:
On Mon, Apr 19, 2021 at 12:47:59 +0200, Pavel Hrdina wrote:
Upstream sheepdog project doesn't have any active development for almost 3 years as the last commit is from 28/06/2018 [1].
Looking into repology [2] the latest version 1.0.1 is included only in Fedora (since Fedora 26). There are only few other distributions having older sheepdog versions: Debian oldstable (stretch), EPEL 6, Ubuntu 18.04 and older and few other less-common distributions.
Based on the data above drop support for sheepdog from libvirt.
[1] <https://github.com/sheepdog/sheepdog/commits/master> [2] <https://repology.org/project/sheepdog/versions>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- docs/formatdomain.rst | 13 +- docs/formatstorage.html.in | 5 +- docs/kbase/rpm-deployment.rst | 6 - docs/manpages/virsh.rst | 7 +- docs/schemas/domaincommon.rng | 1 - docs/schemas/storagepool.rng | 22 - docs/storage.html.in | 59 --- libvirt.spec.in | 36 -- meson.build | 6 - meson_options.txt | 1 - mingw-libvirt.spec.in | 1 - po/POTFILES.in | 1 - src/conf/domain_conf.c | 1 - src/conf/storage_conf.c | 12 +- src/conf/storage_conf.h | 2 - src/conf/storage_source_conf.c | 4 - src/conf/storage_source_conf.h | 1 - src/conf/virstorageobj.c | 9 - src/libvirt-storage.c | 1 - src/libxl/libxl_conf.c | 1 - src/libxl/xen_xl.c | 1 - src/qemu/qemu_block.c | 41 -- src/qemu/qemu_command.c | 20 - src/qemu/qemu_domain.c | 1 - src/qemu/qemu_snapshot.c | 3 - src/storage/meson.build | 25 -- src/storage/storage_backend.c | 6 - src/storage/storage_backend_sheepdog.c | 378 ------------------ src/storage/storage_backend_sheepdog.h | 25 -- src/storage/storage_backend_sheepdog_priv.h | 30 -- src/storage/storage_driver.c | 1 - .../storage_source_backingstore.c | 44 -- src/test/test_driver.c | 1 - tests/meson.build | 6 - tests/qemublocktest.c | 4 - .../imagecreate/network-sheepdog-qcow2.json | 20 - .../imagecreate/network-sheepdog-qcow2.xml | 12 - tests/qemusecuritytest.c | 1 - .../disk-network-sheepdog.args | 30 -- .../disk-network-sheepdog.x86_64-2.12.0.args | 34 -- .../disk-network-sheepdog.x86_64-latest.args | 38 -- .../disk-network-sheepdog.xml | 37 -- tests/qemuxml2argvtest.c | 3 - .../disk-network-sheepdog.xml | 43 -- tests/qemuxml2xmltest.c | 1 - tests/storagebackendsheepdogtest.c | 206 ---------- .../storagepoolcapsschemadata/poolcaps-fs.xml | 2 - .../poolcaps-full.xml | 2 - tests/storagepoolxml2argvtest.c | 2 - tests/storagepoolxml2xmlin/pool-sheepdog.xml | 8 - tests/storagepoolxml2xmlout/pool-sheepdog.xml | 11 - tests/storagepoolxml2xmltest.c | 1 - tests/storagevolxml2xmlin/vol-sheepdog.xml | 10 - tests/storagevolxml2xmlout/vol-sheepdog.xml | 8 - tests/storagevolxml2xmltest.c | 1 - .../deflatten-qemu-sheepdog-in.json | 11 - .../deflatten-qemu-sheepdog-out.json | 13 - tests/virjsontest.c | 1 - tests/virstoragetest.c | 21 - tools/virsh-pool.c | 3 - tools/virsh.c | 3 - 61 files changed, 8 insertions(+), 1289 deletions(-) delete mode 100644 src/storage/storage_backend_sheepdog.c delete mode 100644 src/storage/storage_backend_sheepdog.h delete mode 100644 src/storage/storage_backend_sheepdog_priv.h delete mode 100644 tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.json delete mode 100644 tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.xml delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.args delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.xml delete mode 100644 tests/qemuxml2xmloutdata/disk-network-sheepdog.xml delete mode 100644 tests/storagebackendsheepdogtest.c delete mode 100644 tests/storagepoolxml2xmlin/pool-sheepdog.xml delete mode 100644 tests/storagepoolxml2xmlout/pool-sheepdog.xml delete mode 100644 tests/storagevolxml2xmlin/vol-sheepdog.xml delete mode 100644 tests/storagevolxml2xmlout/vol-sheepdog.xml delete mode 100644 tests/virjsondata/deflatten-qemu-sheepdog-in.json delete mode 100644 tests/virjsondata/deflatten-qemu-sheepdog-out.json
While I don't have any problems with removing the sheepdog storage driver I don't think we should remove both the storage driver and qemu driver interactions in one commit and at the same time I also don't
Make sense, I'll split it into separate commits.
think we should remove the support for launching QEMU guests with sheepdog backing as that has negligible maint burden.
Well it is marked as deprecated in QEMU [1] so I don't agree with this argument. We would eventually drop it from libvirt as well once it is removed from QEMU and I don't see any reason keeping the code in libvirt for something that doesn't have any future.
Our usuall approach is that until we support a qemu version which does support the feature, we should keep the code. Same way we keep code for vxhs storage driver despite it being removed already in qemu upstream.
In some cases it would be nice to have an exception to the support policy. I doubt we have users for qemu sheepdog backend.
The point of the policy is that we can never answer these kind of usage questions in any definitive sense - there's always doubt at what users might exist and what they have deployed. The support policy gives us an unambiguous way to decide whether to keep/remove functionality without having to debate unanswerable questions, and likewise gives users the knowledge about the likely lifetime of support.
True, we can never be 100% sure so unfortunately any argument that I could come up with would still not help. I'll keep the qemu bits and remove only storage pool. Pavel