Bug 2093717 - Please lower or drop python3-libguestfs dependency
Summary: Please lower or drop python3-libguestfs dependency
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: testcloud
Version: 35
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Fedora QA Tools SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-06-05 14:53 UTC by Martin Pitt
Modified: 2022-06-26 01:36 UTC (History)
3 users (show)

Fixed In Version: testcloud-0.8.0-1.el9 testcloud-0.8.0-1.fc35 testcloud-0.8.0-1.fc36 testcloud-0.8.0-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-06-26 00:33:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Pagure testcloud pull-request 127 0 None None None 2022-06-05 16:38:05 UTC

Description Martin Pitt 2022-06-05 14:53:43 UTC
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!

Comment 1 Martin Pitt 2022-06-05 15:04:23 UTC
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 :-)

Comment 2 Martin Pitt 2022-06-05 15:38:38 UTC
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.

Comment 3 Martin Pitt 2022-06-05 16:38:05 UTC
Sent https://pagure.io/testcloud/pull-request/127# with a tested fix.

Comment 4 Fedora Update System 2022-06-24 11:57:32 UTC
FEDORA-EPEL-2022-10ec3d1b92 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-10ec3d1b92

Comment 5 Fedora Update System 2022-06-24 11:57:33 UTC
FEDORA-2022-33aafc4a5a has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-33aafc4a5a

Comment 6 Fedora Update System 2022-06-24 11:57:34 UTC
FEDORA-2022-b6f3f2adec has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-b6f3f2adec

Comment 7 Fedora Update System 2022-06-25 00:34:14 UTC
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.

Comment 8 Fedora Update System 2022-06-25 00:43:45 UTC
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.

Comment 9 Fedora Update System 2022-06-25 01:26:52 UTC
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.

Comment 10 Fedora Update System 2022-06-25 01:39:26 UTC
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.

Comment 11 Fedora Update System 2022-06-26 00:33:26 UTC
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.

Comment 12 Fedora Update System 2022-06-26 01:19:15 UTC
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.

Comment 13 Fedora Update System 2022-06-26 01:19:30 UTC
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.

Comment 14 Fedora Update System 2022-06-26 01:36:08 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.