Bug 1732761
Summary: | Can't install virt module from slow train to fast train on rhel8 because nbdkit-server-1.12 conflicts with file from package nbdkit-1.4 | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | mxie <mxie> | ||||
Component: | nbdkit | Assignee: | Libvirt Maintainers <libvirt-maint> | ||||
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 8.1 | CC: | berrange, juzhou, mzhan, ptoscano, rjones, tzheng, xiaodwan, zili | ||||
Target Milestone: | rc | ||||||
Target Release: | 8.0 | ||||||
Hardware: | x86_64 | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | nbdkit-1.12.1-3.module+el8.1.0+3795+00d3a468 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-11-06 07:17:49 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
My understanding is that there is explicitly no supported upgrade path for dynamically switching a host between slow stream and fast stream virt modules, or vica-verca. IIUC, the expectation is that the admin is responsible for fully uninstalling any packages related to the virt module being disabled, *before* trying to enable & use a different virt module stream. This doesn't mean we shouldn't still fix the upgrade issue wrt to the nbdkit package, especially if this might still affect slow stream on its own if we later rebase nbdkit in the slow stream. I asked Ming to file this bug because I think we should try to make the upgrade path work here. What happened is that we renamed nbdkit -> nbdkit-server. The nbdkit package in 1.12 is now a virtual package which depends on nbdkit-server and a few others. The server binary (/usr/sbin/nbdkit) and manual page (/usr/share/man/man1/nbdkit.1.gz) moved from nbdkit to nbdkit-server. Looking at the dnf output it seems like before the transaction, (old) nbdkit is installed, containing the server and the man page. Then libguestfs is upgraded which only depends on the minimal nbdkit-server package. But dnf doesn't either remove or upgrade nbdkit. In other words dnf is trying to upgrade to: nbdkit-server 1.12 nbdkit 1.4 which of course causes a conflict. I'm not sure how to solve this without going back in time and fixing the 1.4 package. If the 'nbdkit-1.12' package actually exists in the repos, that should be considered an upgrade path from 'nbdkit-1.4', which would mean everything should "just work". From this conflict, it looks like 'nbdkit-1.12' doesn't exist in the repos, meaning that when yum tries to pull in nbd-server for libguestfs, things become unresolvable. I wonder if this has something to do with CRB not being enabled. mxie can you check if it's possible to install just the nbdkit 1.12 package on its own? Also which repository that package comes from? Verify the bug with builds nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 nbdkit-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 Steps: 1.Prepare a rhel8 host which has installed virt-v2v and slow stream virt module # yum module info virt Name : virt Stream : rhel [d][e][a] Version : 8010020190723195906 Context : cdc1202b Architecture : x86_64 Profiles : common [d] Default profiles : common Repo : slow-module Summary : Virtualization module Description : A virtualization module # rpm -q virt-v2v nbdkit virt-v2v-1.38.4-13.module+el8.1.0+3531+2918145b.x86_64 nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 2.Update the virt module from slow train to fast train on rhel8 host 2.1 Enable the repo of fast stream and disable the repo of slow stream 2.2 # yum module reset virt -y ================================================= Package Architecture Version Repository Size ================================================== Disabling module profiles: virt/common Resetting modules: virt Transaction Summary ================================================== Complete! 2.3 Enable fast virt module # yum module enable virt -y ======================================================= Package Architecture Version Repository Size ======================================================== Enabling module streams: virt 8.1 Transaction Summary ============================================== Complete! 3.Install fast stream virt module # yum module install virt -y ..... ..... Installed: libvirt-daemon-driver-storage-iscsi-direct-5.5.0-2.module+el8.1.0+3773+7dd501bf.x86_64 nbdkit-basic-filters-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 nbdkit-basic-plugins-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 nbdkit-python-plugin-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 nbdkit-server-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 nbdkit-vddk-plugin-1.12.1-3.module+el8.1.0+3795+00d3a468.x86_64 Result: Upgrade smoothly between the two nbdkit versions (slow and fast) during virt module installation,so move the bug from ON_QA to VERIFIED Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:3723 |
Created attachment 1593080 [details] nbdkit_confiict_rhel8.log Description of problem: Can't install virt module from slow train to fast train on rhel8 because nbdkit-server-1.12 conflicts with file from package nbdkit-1.4 Version-Release number of selected component (if applicable): nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 nbdkit-server-1.12.1-2.module+el8.1.0+3554+1a3a94a6.x86_64 How reproducible: 100% Steps to Reproduce: 1.Prepare a rhel8 host which has installed virt-v2v and slow virt module # yum module info virt Name : virt Stream : rhel [d][e][a] Version : 8010020190708102823 Context : cdc1202b Architecture : x86_64 Profiles : common [d] [i] Default profiles : common Repo : slow-module Summary : Virtualization module Description : A virtualization module # rpm -q virt-v2v nbdkit virt-v2v-1.38.4-13.module+el8.1.0+3531+2918145b.x86_64 nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 2.Update the virt module from slow train to fast train on rhel8 host 2.1 Enable the repo of fast train and disable the repo of slow train 2.2 # yum module reset virt -y ================================================= Package Architecture Version Repository Size ================================================== Disabling module profiles: virt/common Resetting modules: virt Transaction Summary ================================================== Complete! 2.3 Enable fast virt module # yum module enable virt -y ======================================================= Package Architecture Version Repository Size ======================================================== Enabling module streams: virt 8.1 Transaction Summary ============================================== Complete! 3.Install virt module but the installation is failed because nbdkit-server-1.12 conflicts with file from package nbdkit-1.4 # yum module enable virt .... .... Error: Transaction check error: file /usr/sbin/nbdkit from install of nbdkit-server-1.12.1-2.module+el8.1.0+3554+1a3a94a6.x86_64 conflicts with file from package nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 file /usr/share/man/man1/nbdkit.1.gz from install of nbdkit-server-1.12.1-2.module+el8.1.0+3554+1a3a94a6.x86_64 conflicts with file from package nbdkit-1.4.2-5.module+el8.1.0+3531+2918145b.x86_64 Actual results: As above description Expected results: Should upgrade smoothly between the two nbdkit versions during virt module installation Additional info: