Bug 1294173

Summary: RFE Yumex can break dkms (VirtualBox etc.) cause update of kernel-devel fails
Product: [Fedora] Fedora Reporter: Raphael Groner <projects.rg>
Component: yumex-dnfAssignee: Tim Lauridsen <tim.lauridsen>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: tim.lauridsen
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-19 19:23:55 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: 1298126, 1450577    
Bug Blocks:    

Description Raphael Groner 2015-12-25 08:30:06 UTC
Description of problem:
Yumex breaks dkms rebuilds (e.g. for VirtualBox) cause update of kernel-devel fails. dnf command needs the parameters --best --allowerasing given for the update action to ensure latest kernel-devel package gets installed.

Version-Release number of selected component (if applicable):
yumex-dnf-4.1.4-1.fc22.noarch
dnf-1.1.4-2.fc22.noarch
dkms-2.2.0.3-30.git.7c3e7c5.fc22.noarch

How reproducible:
yes

Steps to Reproduce:
1. open yumex-dnf window
2. let it install all updates incl. kernel packages
3. reboot

Actual results:
VirtualBox does not work any more and shows the error message about b0rken kernel drivers due to wrong version.

Expected results:
VirtualBox can still run any virtual machine without an error message shown of start failure.

Additional info:
This might be a more general issue and is not related to VirtualBox only, VB is a good example.

[root@farny ~]# LC_ALL=C dnf update kernel-devel
Last metadata expiration check performed 0:39:35 ago on Fri Dec 25 08:32:04 2015.
Dependencies resolved.
================================================================================
 Package                   Arch        Version              Repository     Size
================================================================================
Removing:
 kernel                    x86_64      4.2.5-201.fc22       @updates        0  
 kernel-core               x86_64      4.2.5-201.fc22       @updates       42 M
 kernel-modules            x86_64      4.2.5-201.fc22       @updates       17 M
 kernel-modules-extra      x86_64      4.2.5-201.fc22       @updates      2.1 M
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 kernel-devel              x86_64      4.2.8-200.fc22       updates       9.7 M

Transaction Summary
================================================================================
Remove  4 Packages
Skip    1 Package

Installed size: 61 M
Is this ok [y/N]: 
Operation aborted.
[root@farny ~]# LC_ALL=C dnf update kernel-devel --best --allowerasing
Last metadata expiration check performed 0:39:58 ago on Fri Dec 25 08:32:04 2015.
Dependencies resolved.
================================================================================
 Package                   Arch        Version              Repository     Size
================================================================================
Installing:
 kernel-devel              x86_64      4.2.8-200.fc22       updates       9.7 M
Removing:
 kernel                    x86_64      4.2.5-201.fc22       @updates        0  
 kernel-core               x86_64      4.2.5-201.fc22       @updates       42 M
 kernel-devel              x86_64      3.19.7-200.fc21      @System        35 M
 kernel-devel              x86_64      4.1.3-100.fc21       @System        36 M
 kernel-devel              x86_64      4.1.4-200.fc22       @updates       36 M
 kernel-modules            x86_64      4.2.5-201.fc22       @updates       17 M
 kernel-modules-extra      x86_64      4.2.5-201.fc22       @updates      2.1 M

Transaction Summary
================================================================================
Install  1 Package
Remove   7 Packages

Total download size: 9.7 M
Is this ok [y/N]: y
Downloading Packages:
kernel-devel-4.2.8-200.fc22.x86_64.rpm          4.9 MB/s | 9.7 MB     00:01    
--------------------------------------------------------------------------------
Total                                           3.0 MB/s | 9.7 MB     00:03     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : kernel-devel-4.2.8-200.fc22.x86_64                          1/8 
  Erasing     : kernel-4.2.5-201.fc22.x86_64                                2/8 
  Erasing     : kernel-devel-3.19.7-200.fc21.x86_64                         3/8 
  Erasing     : kernel-devel-3.19.7-200.fc21.x86_64                         4/8 
  Erasing     : kernel-devel-3.19.7-200.fc21.x86_64                         5/8 
  Erasing     : kernel-modules-extra-4.2.5-201.fc22.x86_64                  6/8 
  Erasing     : kernel-modules-4.2.5-201.fc22.x86_64                        7/8 
  Erasing     : kernel-core-4.2.5-201.fc22.x86_64                           8/8 
warning: file /lib/modules/4.2.5-201.fc22.x86_64/updates: remove failed: No such file or directory
  Verifying   : kernel-devel-4.2.8-200.fc22.x86_64                          1/8 
  Verifying   : kernel-core-4.2.5-201.fc22.x86_64                           2/8 
  Verifying   : kernel-devel-3.19.7-200.fc21.x86_64                         3/8 
  Verifying   : kernel-devel-4.1.3-100.fc21.x86_64                          4/8 
  Verifying   : kernel-devel-4.1.4-200.fc22.x86_64                          5/8 
  Verifying   : kernel-modules-4.2.5-201.fc22.x86_64                        6/8 
  Verifying   : kernel-4.2.5-201.fc22.x86_64                                7/8 
  Verifying   : kernel-modules-extra-4.2.5-201.fc22.x86_64                  8/8 

Removed:
  kernel.x86_64 4.2.5-201.fc22                                                  
  kernel-core.x86_64 4.2.5-201.fc22                                             
  kernel-devel.x86_64 3.19.7-200.fc21                                           
  kernel-devel.x86_64 4.1.3-100.fc21                                            
  kernel-devel.x86_64 4.1.4-200.fc22                                            
  kernel-modules.x86_64 4.2.5-201.fc22                                          
  kernel-modules-extra.x86_64 4.2.5-201.fc22                                    

Installed:
  kernel-devel.x86_64 4.2.8-200.fc22                                            

Complete!

[root@farny ~]# /etc/init.d/vboxdrv setup
Stopping VirtualBox kernel modules                         [  OK  ]
Uninstalling old VirtualBox DKMS kernel modules            [  OK  ]
Trying to register the VirtualBox kernel modules using DKMS[  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]

Comment 1 Raphael Groner 2015-12-25 13:33:03 UTC
Notice that my point about Yumex is that there's no option to use the --best and propably also --allowerasing parameters as in cli command of dnf.

Comment 2 Tim Lauridsen 2015-12-28 11:48:27 UTC
if a normal dnf update can't handle it, then yumex-dnf will also fail.
I don't know if it is a good idea to add options like --best and --allowerasing to yumex-dnf.

In the strange cases to user sould properly fallback to using dnf cli.

Comment 3 Raphael Groner 2016-01-11 16:54:15 UTC
Maybe an user-friendly option that solves this issue is to explicitly exclude available updates of any kernel* packages [¹] in the suggestion list to be pre-selected? Also, those kernel list entries could have a special color to warn about the exclusion [²]. I am aware that dnf plugins (like protected packages) won't work in Yumex but it could simulate a similiar behaviour and read dnf's configuration.

¹ https://docs.fedoraproject.org/en-US/Fedora/14/html/Deployment_Guide/ch-Manually_Upgrading_the_Kernel.html
² https://dnf-plugins-core.readthedocs.org/en/latest/protected_packages.html

Comment 4 Fedora End Of Life 2016-07-19 19:23:55 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.