Description of problem: testcloud only uses libguestfs for a corner case: instance.py's _needs_legacy_net() uses it to detect whether the image needs an e1000e driver instead of virtio, i.e. whether it's RHEL/CentOS 7. Aside from the fact that this is wrong (RHEL 7 works just fine with virtio-net-pci!), it is also a rather uninteresting case for developers these days. libguestfs is a very heavy dependency, requiring the entire kernel (!), boost, device-mapper, supermin, syslinux, and lots of other packages which take up several hundred MB. This is an issue for container images and other deployments. instance.py already supports guestfs being absent: try: import guestfs except ImportError: pass # We'll lose guest detection ( https://bugzilla.redhat.com/show_bug.cgi?id=1075594 ) [..] try: guestfs except NameError: log.warning("Python libguestfs bindings are missing, guest detection won't work properly!") return None As such, please lower libguestfs to Suggests: or at least Recommends -- or even better yet, just drop the whole thing and use virtio-net everywhere? Version-Release number of selected component (if applicable): python3-testcloud-0.7.1-1.fc35.src.rpm Thanks for considering!
To illustrate: ❱❱❱ sudo dnf install tmt-provision-virtual Last metadata expiration check: 0:21:13 ago on Sun Jun 5 16:41:48 2022. Dependencies resolved. ======================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================== Installing: tmt-provision-virtual noarch 1.13.0-1.fc35 updates 49 k Installing dependencies: attr x86_64 2.5.1-3.fc35 fedora 58 k augeas-libs x86_64 1.13.0-1.fc35 updates 405 k boost-iostreams x86_64 1.76.0-4.fc35 fedora 39 k boost-system x86_64 1.76.0-4.fc35 fedora 15 k boost-thread x86_64 1.76.0-4.fc35 fedora 57 k corosynclib x86_64 3.1.6-2.fc35 updates 50 k cryptsetup x86_64 2.4.3-1.fc35 updates 199 k device-mapper-event x86_64 1.02.175-6.fc35 fedora 35 k device-mapper-event-libs x86_64 1.02.175-6.fc35 fedora 34 k device-mapper-persistent-data x86_64 0.9.0-6.fc35 fedora 769 k dhcp-client x86_64 12:4.4.3-2.fc35 updates 799 k dhcp-common noarch 12:4.4.3-2.fc35 updates 126 k dnsmasq x86_64 2.86-5.fc35 updates 333 k ebtables-legacy x86_64 2.0.11-10.fc35 fedora 96 k fmt x86_64 8.1.1-5.fc35 updates 110 k glusterfs x86_64 9.5-1.fc35 updates 644 k glusterfs-cli x86_64 9.5-1.fc35 updates 188 k glusterfs-client-xlators x86_64 9.5-1.fc35 updates 905 k glusterfs-fuse x86_64 9.5-1.fc35 updates 143 k guestfs-tools x86_64 1.48.0-1.fc35 updates 3.2 M hexedit x86_64 1.6-1.fc35 updates 42 k hivex-libs x86_64 1.3.21-1.fc35 fedora 44 k ipcalc x86_64 1.0.1-2.fc35 fedora 41 k iptables-legacy x86_64 1.8.7-13.fc35 fedora 53 k iputils x86_64 20210722-1.fc35 fedora 170 k iscsi-initiator-utils x86_64 6.2.1.4-0.git095f59c.fc35.2 fedora 377 k iscsi-initiator-utils-iscsiuio x86_64 6.2.1.4-0.git095f59c.fc35.2 fedora 94 k isns-utils-libs x86_64 0.101-2.fc35 fedora 105 k kernel-core x86_64 5.17.12-200.fc35 updates 46 M libconfig x86_64 1.7.3-2.fc35 fedora 72 k libgfapi0 x86_64 9.5-1.fc35 updates 92 k libgfrpc0 x86_64 9.5-1.fc35 updates 57 k libgfxdr0 x86_64 9.5-1.fc35 updates 31 k libglusterd0 x86_64 9.5-1.fc35 updates 14 k libglusterfs0 x86_64 9.5-1.fc35 updates 301 k libguestfs x86_64 1:1.48.1-1.fc35 updates 1.1 M libguestfs-appliance x86_64 1:1.48.1-1.fc35 updates 2.2 M libiscsi x86_64 1.19.0-4.fc35 fedora 86 k libpipeline x86_64 1.5.3-3.fc35 fedora 48 k libqb x86_64 2.0.4-1.fc35 updates 90 k librados2 x86_64 2:16.2.9-1.fc35 updates 3.5 M librbd1 x86_64 2:16.2.9-1.fc35 updates 3.7 M libvirt x86_64 7.6.0-5.fc35 updates 12 k libvirt-daemon-config-network x86_64 7.6.0-5.fc35 updates 14 k libvirt-daemon-config-nwfilter x86_64 7.6.0-5.fc35 updates 19 k libvirt-daemon-driver-interface x86_64 7.6.0-5.fc35 updates 158 k libvirt-daemon-driver-libxl x86_64 7.6.0-5.fc35 updates 257 k libvirt-daemon-driver-lxc x86_64 7.6.0-5.fc35 updates 268 k libvirt-daemon-driver-network x86_64 7.6.0-5.fc35 updates 195 k libvirt-daemon-driver-nodedev x86_64 7.6.0-5.fc35 updates 176 k libvirt-daemon-driver-nwfilter x86_64 7.6.0-5.fc35 updates 192 k libvirt-daemon-driver-secret x86_64 7.6.0-5.fc35 updates 155 k libvirt-daemon-driver-storage x86_64 7.6.0-5.fc35 updates 12 k libvirt-daemon-driver-storage-disk x86_64 7.6.0-5.fc35 updates 22 k libvirt-daemon-driver-storage-gluster x86_64 7.6.0-5.fc35 updates 24 k libvirt-daemon-driver-storage-iscsi x86_64 7.6.0-5.fc35 updates 19 k libvirt-daemon-driver-storage-iscsi-direct x86_64 7.6.0-5.fc35 updates 22 k libvirt-daemon-driver-storage-logical x86_64 7.6.0-5.fc35 updates 23 k libvirt-daemon-driver-storage-mpath x86_64 7.6.0-5.fc35 updates 17 k libvirt-daemon-driver-storage-rbd x86_64 7.6.0-5.fc35 updates 28 k libvirt-daemon-driver-storage-scsi x86_64 7.6.0-5.fc35 updates 19 k libvirt-daemon-driver-storage-sheepdog x86_64 7.6.0-5.fc35 updates 18 k libvirt-daemon-driver-storage-zfs x86_64 7.6.0-5.fc35 updates 19 k libvirt-daemon-driver-vbox x86_64 7.6.0-5.fc35 updates 235 k linux-firmware-whence noarch 20220509-132.fc35 updates 49 k lsscsi x86_64 0.32-4.fc35 fedora 67 k lttng-ust x86_64 2.12.2-5.fc35 fedora 284 k lvm2 x86_64 2.03.11-6.fc35 fedora 1.4 M lvm2-libs x86_64 2.03.11-6.fc35 fedora 934 k man-db x86_64 2.9.4-2.fc35 fedora 1.2 M mdevctl x86_64 1.1.0-2.fc35 fedora 698 k mtools x86_64 4.0.39-1.fc35 updates 210 k ntfs-3g x86_64 2:2021.8.22-2.fc35 fedora 127 k ntfs-3g-system-compression x86_64 1.0-7.fc35 fedora 28 k python3-libguestfs x86_64 1:1.48.1-1.fc35 updates 210 k python3-testcloud noarch 0.7.1-1.fc35 updates 67 k radvd x86_64 2.19-4.fc35 fedora 87 k scrub x86_64 2.6.1-3.fc35 fedora 44 k sheepdog x86_64 1.0.1-16.fc35 fedora 279 k squashfs-tools x86_64 4.5.1-1.fc35 updates 226 k supermin x86_64 5.3.2-1.fc35 updates 495 k syslinux x86_64 6.04-0.18.fc35 fedora 560 k syslinux-extlinux x86_64 6.04-0.18.fc35 fedora 130 k syslinux-extlinux-nonlinux noarch 6.04-0.18.fc35 fedora 387 k syslinux-nonlinux noarch 6.04-0.18.fc35 fedora 563 k userspace-rcu x86_64 0.13.0-3.fc35 fedora 102 k zerofree x86_64 1.1.1-8.fc35 fedora 27 k zfs-fuse x86_64 0.7.2.2-20.fc35 fedora 1.5 M Installing weak dependencies: butane x86_64 0.14.0-1.fc35 updates 2.0 M geolite2-city noarch 20191217-5.fc35 fedora 23 M geolite2-country noarch 20191217-5.fc35 fedora 1.6 M libguestfs-xfs x86_64 1:1.48.1-1.fc35 updates 13 k libmaxminddb x86_64 1.6.0-1.fc35 updates 33 k linux-firmware noarch 20220509-132.fc35 updates 203 M Transaction Summary ======================================================================================================================================== Install 95 Packages Total download size: 308 M Installed size: 491 M Is this ok [y/N]: ... no, this is not ok :-)
Ah, there's something more: _generate_seed_image() calls virt-make-fs, which is also in libguestfs. However, genisoimage can do this as well, and is three magnitudes smaller. I'll send an upstream PR for this.
Sent https://pagure.io/testcloud/pull-request/127# with a tested fix.
FEDORA-EPEL-2022-10ec3d1b92 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-10ec3d1b92
FEDORA-2022-33aafc4a5a has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-33aafc4a5a
FEDORA-2022-b6f3f2adec has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-b6f3f2adec
FEDORA-2022-b6f3f2adec has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-b6f3f2adec` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-b6f3f2adec See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2022-10ec3d1b92 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-10ec3d1b92 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2022-33aafc4a5a has been pushed to the Fedora 35 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-33aafc4a5a` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-33aafc4a5a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2022-2e985b428a has been pushed to the Fedora EPEL 9 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-2e985b428a See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2022-2e985b428a has been pushed to the Fedora EPEL 9 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-33aafc4a5a has been pushed to the Fedora 35 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2022-b6f3f2adec has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-EPEL-2022-10ec3d1b92 has been pushed to the Fedora EPEL 8 stable repository. If problem still persists, please make note of it in this bug report.