Bug 2059146

Summary: Missing qemu-kvm-block-ssh obsolete breaks upgrade path
Product: Red Hat Enterprise Linux 9 Reporter: Daniel Berrangé <berrange>
Component: qemu-kvmAssignee: Miroslav Rezanina <mrezanin>
qemu-kvm sub component: Storage QA Contact: jingzhao <jinzhao>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: coli, dyuan, jinzhao, juzhang, kkiwi, lijin, lmiksik, mdeng, mrezanin, timao, tyan, virt-maint, yiwei
Version: 9.0Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-6.2.0-11.el9_0.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2062817 (view as bug list) Environment:
Last Closed: 2022-05-17 12:25:28 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:
Bug Depends On:    
Bug Blocks: 2062817    

Description Daniel Berrangé 2022-02-28 10:16:23 UTC
Description of problem:
The qemu-kvm-block-ssh module RPM is currently missing in repos, and missing as a dep of qemu-kvm RPM.

The qemu-kvm-block-ssh module was originally intended to be dropped in 9.0, as it was believed to not have any users. This turned out to not be the case, as it was used by virt-install.

Unfortunately the package was none the less dropped from qemu-kvm package. This in turn cases it to be dropped from the compose, and breaks the upgrade path. 

The 'qemu-kvm' package is a meta package that is intended to depend on every QEMU sub-RPM that exists, so qemu-kvm-block-ssh needs to be added back to this. THis will in turn fix the compose and the upgrade path

Version-Release number of selected component (if applicable):
6.2.0

How reproducible:
Always

Steps to Reproduce:
1. Install qemu-kvm-6.1.0
2. dnf upgrade

Actual results:
# dnf update
Failed to set locale, defaulting to C.UTF-8
BaseOS                                                                          28 kB/s | 2.7 kB     00:00    
BaseOS                                                                         4.7 MB/s | 1.7 MB     00:00    
AppStream                                                                       47 kB/s | 2.8 kB     00:00    
AppStream                                                                      9.3 MB/s | 5.7 MB     00:00    
CRB                                                                             45 kB/s | 2.7 kB     00:00    
CRB                                                                            4.9 MB/s | 1.8 MB     00:00    
Last metadata expiration check: 0:00:01 ago on Mon Feb 28 05:05:18 2022.
Error: 
 Problem 1: cannot install both qemu-kvm-common-17:6.2.0-10.el9.x86_64 and qemu-kvm-common-17:6.1.0-2.el9.x86_64
  - package qemu-kvm-block-ssh-17:6.1.0-2.el9.x86_64 requires qemu-kvm-common(x86-64) = 17:6.1.0-2.el9, but none of the providers can be installed
  - cannot install the best update candidate for package qemu-kvm-common-17:6.1.0-2.el9.x86_64
  - problem with installed package qemu-kvm-block-ssh-17:6.1.0-2.el9.x86_64
 Problem 2: cannot install both qemu-kvm-common-17:6.2.0-10.el9.x86_64 and qemu-kvm-common-17:6.1.0-2.el9.x86_64
  - package qemu-kvm-audio-pa-17:6.2.0-10.el9.x86_64 requires qemu-kvm-common(x86-64) = 17:6.2.0-10.el9, but none of the providers can be installed
  - package qemu-kvm-hw-usbredir-17:6.1.0-2.el9.x86_64 requires qemu-kvm-common(x86-64) = 17:6.1.0-2.el9, but none of the providers can be installed
  - cannot install the best update candidate for package qemu-kvm-audio-pa-17:6.1.0-2.el9.x86_64
  - problem with installed package qemu-kvm-hw-usbredir-17:6.1.0-2.el9.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)


Expected results:
Packages dep solve and qemu-kvm-block-ssh is still  a dep of qemu-kvm

Additional info:

Comment 1 Daniel Berrangé 2022-02-28 10:18:30 UTC
NB, libvirt bug to rewrite its SSH handler to use nbdkit is here:  https://bugzilla.redhat.com/show_bug.cgi?id=2016527    As & when that bug is complete, the qemu-kvm-block-ssh driver can be dropped, using Obsoletes to ensure its removal on upgrade, but that will be a separate bug against QEMU when the time arrives.

Comment 2 Tingting Mao 2022-03-01 02:23:22 UTC
FYI: Bug 2010985 - Remove dependency on qemu-kvm-block-curl and qemu-kvm-block-ssh [rhel-9.0.0]

Comment 3 Klaus Heinrich Kiwi 2022-03-03 20:35:00 UTC
Mirek,

 am I right in assuming this is probably handled by the Maintainers team?

Thanks,

 -Klaus

Comment 5 Miroslav Rezanina 2022-03-07 12:36:07 UTC
(In reply to Daniel Berrangé from comment #0)
> Description of problem:
> The qemu-kvm-block-ssh module RPM is currently missing in repos, and missing
> as a dep of qemu-kvm RPM.
> 
> The qemu-kvm-block-ssh module was originally intended to be dropped in 9.0,
> as it was believed to not have any users. This turned out to not be the
> case, as it was used by virt-install.

Is this true? I think virt-install only uses curl driver, ssh was introduced for libguestfs
that has already switched to nbdkit.

Comment 6 Miroslav Rezanina 2022-03-07 12:37:02 UTC
(In reply to Klaus Heinrich Kiwi from comment #3)
> Mirek,
> 
>  am I right in assuming this is probably handled by the Maintainers team?
> 
> Thanks,
> 
>  -Klaus

Yes, we can handle it if we got decision done.

Comment 7 Daniel Berrangé 2022-03-07 13:09:48 UTC
(In reply to Miroslav Rezanina from comment #5)
> (In reply to Daniel Berrangé from comment #0)
> > Description of problem:
> > The qemu-kvm-block-ssh module RPM is currently missing in repos, and missing
> > as a dep of qemu-kvm RPM.
> > 
> > The qemu-kvm-block-ssh module was originally intended to be dropped in 9.0,
> > as it was believed to not have any users. This turned out to not be the
> > case, as it was used by virt-install.
> 
> Is this true? I think virt-install only uses curl driver, ssh was introduced
> for libguestfs
> that has already switched to nbdkit.

Actually no, I was mixed up with the curl driver, because the libvirt bug was intending to use nbdkit for both ssh and https, but virt-install only uses https.  

Why are we building the SSH driver at all if we're not using it though ?  It makes no sense to build it and then not have it in the compose. 

So we've definitely got a missing Obsoletes here at the very least, but beyond that we shouldn't build it if we're not going to ship it.

Comment 8 Miroslav Rezanina 2022-03-08 09:37:51 UTC
(In reply to Daniel Berrangé from comment #7)
> (In reply to Miroslav Rezanina from comment #5)
> > (In reply to Daniel Berrangé from comment #0)
> > > Description of problem:
> > > The qemu-kvm-block-ssh module RPM is currently missing in repos, and missing
> > > as a dep of qemu-kvm RPM.
> > > 
> > > The qemu-kvm-block-ssh module was originally intended to be dropped in 9.0,
> > > as it was believed to not have any users. This turned out to not be the
> > > case, as it was used by virt-install.
> > 
> > Is this true? I think virt-install only uses curl driver, ssh was introduced
> > for libguestfs
> > that has already switched to nbdkit.
> 
> Actually no, I was mixed up with the curl driver, because the libvirt bug
> was intending to use nbdkit for both ssh and https, but virt-install only
> uses https.  
> 
> Why are we building the SSH driver at all if we're not using it though ?  It
> makes no sense to build it and then not have it in the compose. 

We didn't want to hard remove the driver (not remember the reason) so we just
remove the dependency so it is not in default installation. We plan to stop building
in next major.

> 
> So we've definitely got a missing Obsoletes here at the very least, but
> beyond that we shouldn't build it if we're not going to ship it.

Yes, this is missing part and have to be added. Changing BZ to just adding obsolete info
instead of reintroduce driver dependency.

Comment 13 Yanan Fu 2022-03-17 03:26:22 UTC
QE bot(pre verify): Set 'Verified:Tested,SanityOnly' as gating/tier1 test pass.

Comment 18 errata-xmlrpc 2022-05-17 12:25:28 UTC
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 (new packages: qemu-kvm), 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-2022:2307