Bug 302419

Summary: Two kernels after update
Product: [openSUSE] openSUSE 10.3 Reporter: Holger Sickenberg <holgi>
Component: YaST2Assignee: Lukas Ocilka <locilka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None CC: jsrain
Version: Beta 2   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: y2logs.tgz

Description Holger Sickenberg 2007-08-22 09:54:46 UTC
I updated a 10.2 with kernel-default. After the update I do have installed two kernels:
kernel-default and kernel-bigsmp

-rwxr-xr-x  1 root root 2133912 2007-08-20 20:12 vmlinux-2.6.22.3-7-bigsmp.gz*
-rwxr-xr-x  1 root root 2118633 2007-08-20 22:31 vmlinux-2.6.22.3-7-default.gz*
Comment 1 Holger Sickenberg 2007-08-22 09:55:39 UTC
Created attachment 158957 [details]
y2logs.tgz
Comment 2 Katarina Machalkova 2007-08-23 08:56:18 UTC
Something for solver?
Comment 3 Stefan Schubert 2007-08-23 09:04:41 UTC
No. 
Default will be installed due the normal update.
bigsmp will be installed due YaST:
2007-08-22 04:44:45 <1> 10.10.2.108(3894) [YCP] Kernel.ycp:497 Selecting 'kernel-bigsmp' as kernel package
...
..
.
2007-08-22 04:44:45 <1> 10.10.2.108(3894) [YCP] clients/update_proposal.ycp:163 Package kernel-bigsmp is not installed - forcing kernel update

Katarina, could you please "reassign" ?
Comment 4 Katarina Machalkova 2007-08-23 10:57:24 UTC
Lukas, please take care of this one
Comment 5 Lukas Ocilka 2007-08-23 11:47:19 UTC
This seems to be undefined behavior without any documentation.

The problem definition is this:
  * System before update had installed 'kernel-default'
  * During update, solver has selected new 'kernel-default' as a replacement
    for the old one.
  * Additionally, update has selected new 'kernel-bigsmp' because of new
    evaluation which kernel should be selected as default
  * As a result, both kernel-default (replaced) and kernel-bigsmp (new)
    were installed/updated.

Possible solutions:
  1.) Do not select new kernel in case of update (when some kernel-* package
      is already selected to be installed/updated).

  2.) Force kernel selection by update_proposal and unselect other kernel-*
      packages with one exception kernel-xen.

Side effects:
  1.) If hardware has been changed, it would not have any effect on the fact
      which kernel is selected. Even if the policy has changed between
      releases it will not change. That seems to be wrong.

  2.) Unselecting all kernels (but the selected one selected by the
      update_proposal script and kernel-xen) seem to be a bit tricky.
      It should be possible to prefer user-defined selections.

All in all, the solution "1" removes some functionality and the number "2" might be a bit dangerous when not done correctly. Anyway, the place, where the fix should be done, is Kernel.ycp, not update_proposal. I'd rather prefer solution "2".
Comment 6 Lukas Ocilka 2007-08-23 13:29:32 UTC
- Preselecting new kernel if recommended and installed kernels do
  not match. Removing other kernels but kernel-xen (#302419).
- yast2-update-2.15.21