Bug 438181

Summary: yum removes necessary kernel modules
Product: [Fedora] Fedora Reporter: Paul Johnson <pauljohn>
Component: yumAssignee: Seth Vidal <skvidal>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: ffesti, james.antill, katzj, pmatilai, tim.lauridsen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-13 19:18:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Paul Johnson 2008-03-19 15:39:07 UTC
Description of problem:


Version-Release number of selected component (if applicable):
yum-3.2.8-2.fc8


How reproducible:
Install some kernel module rpms. If module updates are not available when yum
runs and finds a kernel update, yum installs the kernel and always makes a
mistake of removing the modules.

Steps to Reproduce:
1. Install any kernel module from RPM, such as nvidia module or openafs
2. run the yum updatesd service
3. study /var/log/yum*
  
Actual results:


When yum installs a
new kernel, but it cannot find the module RPMs for it, then it goes
ahead and installs the new kernel, and removes the module RPMs for the
older version of the kernel.  NOte the end of the yum log, 

Mar 17 05:15:59 Updated: numactl.x86_64 0.9.8-5.fc8
Mar 17 05:16:00 Updated: shared-mime-info.x86_64 0.23-1.fc8
Mar 17 05:16:01 Updated: kexec-tools.x86_64 1.102pre-7.fc8
Mar 17 05:16:02 Updated: gdb.x86_64 6.6-45.fc8
Mar 17 05:16:05 Updated: selinux-policy.noarch 3.0.8-93.fc8
Mar 17 05:16:18 Updated: selinux-policy-targeted.noarch 3.0.8-93.fc8
Mar 17 05:16:37 Installed: kernel.x86_64 2.6.24.3-34.fc8
Mar 17 05:16:44 Installed: kernel-devel.x86_64 2.6.24.3-34.fc8
Mar 17 05:16:46 Updated: kernel-headers.x86_64 2.6.24.3-34.fc8
Mar 17 05:16:53 Installed: kernel-debug-devel.x86_64 2.6.24.3-34.fc8
Mar 17 05:16:53 Erased: kmod-nvidia-2.6.23.15-137.fc8
Mar 17 05:16:57 Erased: xorg-x11-drv-nvidia-libs
Mar 17 05:17:13 Erased: kmod-nvidia
Mar 17 05:17:14 Erased: kmod-nvidia-2.6.24.3-12.fc8
Mar 17 05:17:24 Erased: xorg-x11-drv-nvidia

The kernel, that is STILL RUNNING, is

# uname -r
2.6.23.15-137.fc8

And yum has not removed that kernel (whew!)

# rpm -q kernel
kernel-2.6.23.15-137.fc8
kernel-2.6.24.3-34.fc8

But you will see in the above output that the kmod-nvidia was for
2.6.23.15-137.fc8 was removed.

It must be that livna's kmod RPMS were not available when the yum
process updated the kernel. Now they are, I can install manually:

# yum install kmod-nvidia
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * kde: kdeforge.unl.edu
 * livna: mirrors.tummy.com
 * fedora: mirror.nuvio.com
 * kde-all: kdeforge.unl.edu
 * adobe-linux-i386: linuxdownload.adobe.com
 * updates: mirror.nuvio.com
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package kmod-nvidia.x86_64 0:169.12-3.lvn8 set to be updated
--> Processing Dependency: kmod-nvidia-2.6.24.3-34.fc8 = 169.12-3.lvn8
for package: kmod-nvidia
--> Running transaction check
---> Package kmod-nvidia-2.6.24.3-34.fc8.x86_64 0:169.12-3.lvn8 set to
be updated
--> Processing Dependency: nvidia-kmod-common >= 169.12 for package:
kmod-nvidia-2.6.24.3-34.fc8
--> Running transaction check
---> Package xorg-x11-drv-nvidia.x86_64 0:169.12-1.lvn8 set to be updated
filelists.xml.gz          100% |=========================| 477 kB    00:00


But I certainly don't want yum removing the older ones.

I had a much worse case on my laptop computer.  On that system, I had an RPM
installed called kups-meta.  That served as a meta package, requiring the other
things I always want to have installed.  One of the things that package requires
is the openafs-kernel module RPM, which I build.

A kernel update via yum started a chain
reaction. It wanted to find an openafs-kernel module, but I did not
build one yet (my oversight!). In the past, yum would quit at that stage
and nothing would update. However, this time was different.  The yum
log shows that not only did it go ahead and install the new kernel,
but it also removed everything that required the openafs-kernel
module.  In this case, that caused it to uninstall a meta package I
install, called kups-meta.  That meta package requires a bunch of rpms
that I want our systems to have, and it also adds some login scripts
that are installed in /usr/local/bin.  kups-meta got removed by yum,
and then the user could not log in anymore.

Mar 11 05:23:36 Updated: qt.i386 1:3.3.8b-1.fc7
Mar 11 05:23:58 Updated: wine-core.i386 0.9.56-1.fc7
Mar 11 05:24:01 Updated: arts.i386 8:1.5.9-1.fc7
Mar 11 05:24:03 Updated: dbus.i386 1.0.2-7.fc7
Mar 11 05:24:04 Updated: openldap.i386 2.3.34-7.fc7
Mar 11 05:24:05 Updated: cups-libs.i386 1:1.2.12-9.fc7
Mar 11 05:24:06 Updated: libdvdread.i386 0.9.7-3.fc7
Mar 11 05:24:07 Updated: krb5-libs.i386 1.6.1-8.fc7
Mar 11 05:24:08 Updated: libdvdnav.i386 4.1.1-3.fc7
Mar 11 05:24:09 Updated: akode.i386 2.0.2-4.fc7
Mar 11 05:24:10 Updated: pcre.i386 7.3-3.fc7
Mar 11 05:24:14 Updated: xine-lib.i386 1.1.10.1-1.fc7
Mar 11 05:25:04 Updated: tetex-fonts.i386 3.0-40.5.fc7
Mar 11 05:25:07 Updated: tetex-dvips.i386 3.0-40.5.fc7
Mar 11 05:25:07 Updated: pkgconfig.i386 1:0.21-6.fc7
Mar 11 05:25:10 Updated: poppler.i386 0.5.4-8.fc7
Mar 11 05:25:38 Updated: gimp-libs.i386 2:2.4.4-1.fc7
Mar 11 05:25:40 Installed: twolame-libs.i386 0.3.12-1.lvn7
Mar 11 05:25:41 Updated: libupnp.i386 1.6.5-1.fc7
Mar 11 05:25:43 Updated: graphviz.i386 2.12-10.fc7
Mar 11 05:26:17 Updated: gimp.i386 2:2.4.4-1.fc7
Mar 11 05:26:18 Updated: dbus-x11.i386 1.0.2-7.fc7
Mar 11 05:26:21 Updated: tomcat5-servlet-2.4-api.i386 5.5.26-1jpp.2.fc7
Mar 11 05:26:37 Updated: dia.i386 1:0.96.1-6.fc7
Mar 11 05:26:44 Updated: xine.i386 0.99.5-1.lvn7
Mar 11 05:26:45 Updated: akode-pulseaudio.i386 2.0.2-4.fc7
Mar 11 05:26:48 Updated: mplayer.i386 1.0-0.84.rc2.lvn7
Mar 11 05:26:50 Updated: system-config-printer-libs.i386 0.7.74.10-3.fc7
Mar 11 05:27:17 Updated: wine-ldap.i386 0.9.56-1.fc7
Mar 11 05:27:19 Updated: wine-cms.i386 0.9.56-1.fc7
Mar 11 05:27:19 Updated: wine-capi.i386 0.9.56-1.fc7
Mar 11 05:27:20 Updated: wine-esd.i386 0.9.56-1.fc7
Mar 11 05:27:21 Updated: wine-twain.i386 0.9.56-1.fc7
Mar 11 05:27:21 Updated: wine-jack.i386 0.9.56-1.fc7
Mar 11 05:27:22 Updated: wine-nas.i386 0.9.56-1.fc7
Mar 11 05:27:23 Updated: unison.i386 2.27.57-2.fc7
Mar 11 05:27:24 Installed: libopendaap.i386 0.4.0-4.fc7
Mar 11 05:27:32 Installed: vlc-core.i386 0.8.6e-1.lvn7
Mar 11 05:27:48 Updated: vlc.i386 0.8.6e-1.lvn7
Mar 11 05:27:50 Updated: gnuplot.i386 4.0.0-19.fc7
Mar 11 05:27:52 Installed: php-common.i386 5.2.4-1.fc7
Mar 11 05:27:53 Installed: php-cli.i386 5.2.4-1.fc7
Mar 11 05:27:54 Updated: libnetfilter_conntrack.i386 0.0.82-1.fc7
Mar 11 05:27:55 Updated: mikmod.i386 3.2.2-6.fc7
Mar 11 05:27:56 Updated: pinentry.i386 0.7.4-1.fc7
Mar 11 05:27:56 Updated: pinentry-qt.i386 0.7.4-1.fc7
Mar 11 05:28:01 Updated: mplayer-gui.i386 1.0-0.84.rc2.lvn7
Mar 11 05:28:05 Updated: tomcat5-jsp-2.0-api.i386 5.5.26-1jpp.2.fc7
Mar 11 05:28:11 Updated: tetex-xdvi.i386 3.0-40.5.fc7
Mar 11 05:28:16 Updated: httpd.i386 2.2.8-1.fc7
Mar 11 05:28:18 Updated: krb5-workstation.i386 1.6.1-8.fc7
Mar 11 05:28:20 Updated: krb5-devel.i386 1.6.1-8.fc7
Mar 11 05:28:28 Updated: cups.i386 1:1.2.12-9.fc7
Mar 11 05:28:41 Updated: tetex-afm.i386 3.0-40.5.fc7
Mar 11 05:28:42 Updated: cpuspeed.i386 1:1.2.1-5.fc7
Mar 11 05:28:43 Updated: apcupsd.i386 3.14.2-2.fc7
Mar 11 05:28:44 Updated: xterm.i386 232-1.fc7
Mar 11 05:28:56 Updated: firefox.i386 2.0.0.12-1.fc7
Mar 11 05:28:57 Updated: python-exif.noarch 1.0.7-4.fc7
Mar 11 05:28:57 Updated: gnome-python2-extras.i386 2.14.3-8.fc7
Mar 11 05:28:58 Updated: kde-filesystem.noarch 4-8.fc7
Mar 11 05:29:00 Updated: graphviz-devel.i386 2.12-10.fc7
Mar 11 05:29:27 Updated: libsilc.i386 1.0.2-5.fc7
Mar 11 05:29:41 Updated: thunderbird.i386 2.0.0.12-1.fc7
Mar 11 05:29:44 Updated: smolt.noarch 1.1-1.fc7
Mar 11 05:29:44 Updated: smolt-firstboot.noarch 1.1-1.fc7
Mar 11 05:30:11 Updated: firefox-devel.i386 2.0.0.12-1.fc7
Mar 11 05:30:12 Updated: gnuplot-emacs.i386 4.0.0-19.fc7
Mar 11 05:30:13 Updated: system-config-printer.i386 0.7.74.10-3.fc7
Mar 11 05:30:49 Updated: gimp-help.noarch 2.4.0-1.fc7
Mar 11 05:30:53 Updated: dbus-devel.i386 1.0.2-7.fc7
Mar 11 05:31:26 Updated: openldap-devel.i386 2.3.34-7.fc7
Mar 11 05:31:30 Updated: tzdata.noarch 2007k-2.fc7
Mar 11 05:31:30 Installed: kernel.i686 2.6.23.15-80.fc7
Mar 11 05:32:21 Updated: devhelp.i386 0.13-13.fc7
Mar 11 05:32:22 Updated: gnome-python2-libegg.i386 2.14.3-8.fc7
Mar 11 05:32:23 Updated: gnome-python2-gtkhtml2.i386 2.14.3-8.fc7
Mar 11 05:32:41 Updated: yelp.i386 2.18.1-9.fc7
Mar 11 05:33:05 Updated: perl-libs.i386 4:5.8.8-28.fc7
Mar 11 05:33:37 Updated: perl.i386 4:5.8.8-28.fc7
Mar 11 05:34:33 Updated: kdelibs.i386 6:3.5.9-4.fc7
Mar 11 05:35:54 Updated: kdebase.i386 6:3.5.9-3.fc7
Mar 11 05:36:19 Updated: kdemultimedia.i386 6:3.5.9-1.fc7
Mar 11 05:37:33 Updated: kdepim.i386 6:3.5.9-6.fc7
Mar 11 05:38:25 Updated: kdeutils.i386 6:3.5.9-1.fc7
Mar 11 05:38:57 Updated: tetex.i386 3.0-40.5.fc7
Mar 11 05:39:47 Updated: kdeutils-extras.i386 6:3.5.9-1.fc7
Mar 11 05:40:09 Updated: kdemultimedia-extras.i386 6:3.5.9-1.fc7
Mar 11 05:41:23 Updated: kdegames.i386 6:3.5.9-1.fc7
Mar 11 05:41:32 Updated: rkward.i386 0.4.9-2.fc7
Mar 11 05:41:33 Updated: wine-tools.i386 0.9.56-1.fc7
Mar 11 05:42:07 Updated: ghostscript.i386 8.15.4-4.fc7
Mar 11 05:42:13 Updated: xscreensaver-base.i386 1:5.05-1.fc7
Mar 11 05:42:44 Updated: kdeaddons.i386 3.5.9-1.fc7
Mar 11 05:42:45 Updated: perl-Test-Harness.i386 2.56-28.fc7
Mar 11 05:42:46 Updated: wine.i386 0.9.56-1.fc7
Mar 11 05:43:32 Updated: tetex-latex.i386 3.0-40.5.fc7
Mar 11 05:43:35 Updated: logwatch.noarch 7.3.4-11.fc7
Mar 11 05:44:22 Updated: tetex-doc.i386 3.0-40.5.fc7
Mar 11 05:44:24 Updated: perl-ExtUtils-MakeMaker.i386 6.30-28.fc7
Mar 11 05:44:28 Updated: spamassassin.i386 3.2.4-1.fc7
Mar 11 05:44:29 Updated: perl-CPAN.i386 1.76_02-28.fc7
Mar 11 05:45:59 Updated: evolution.i386 2.10.3-8.fc7
Mar 11 05:46:01 Updated: perl-ExtUtils-Embed.i386 1.26-28.fc7
Mar 11 05:46:03 Updated: perl-devel.i386 4:5.8.8-28.fc7
Mar 11 05:46:04 Updated: perl-Test-Simple.i386 0.62-28.fc7
Mar 11 05:54:58 Erased: openafs-kernel
Mar 11 05:56:06 Erased: twolame
Mar 11 05:56:31 Erased: openafs-client
Mar 11 05:56:51 Erased: kups-meta




Expected results:

yum should either fail (as it did until recently) or it should install the new
kernel without removing the modules needed by the older kernel.


Additional info:

Comment 1 seth vidal 2008-03-19 16:23:19 UTC
Do you have the yum-fedorakmod package installed? I think that plugin is
intended to protect against this problem.

Comment 2 Paul Johnson 2008-06-12 20:42:09 UTC
I tried that, seemed to work for modules that had the kmod naming scheme, but
not modules that had a different naming scheme, such as openafs-kernel or such.

However, I quit using Fedora so avidly and installed Ubunutu during the last 6
weeks, so I've not been testing this out lately.

Comment 3 Seth Vidal 2008-06-13 19:18:47 UTC
yum-fedorakmod only works with fedora compliant kernel module packages.

If you have a kernel module not complying with the package requirements for
kernel modules then all bets are off as to how it will behave.