Bug 800316

Summary: Bootloader upgrade options description is misleading
Product: [Fedora] Fedora Reporter: Martin Krizek <mkrizek>
Component: anacondaAssignee: Brian Lane <bcl>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: anaconda-maint-list, awilliam, g.kaviyarasu, hoyang, jonathan, kparal, pschindl, robatino, vanmeeuwen+fedora
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: RejectedBlocker
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-05 00:04:18 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:
Attachments:
Description Flags
anaconda-ks.cfg
none
upgrade.log
none
upgrade.log.syslog none

Description Martin Krizek 2012-03-06 09:53:02 UTC
Description of problem:
While upgrading from fully updated Fedora 16 to Fedora 17 Alpha Rc4 with "Skip bootloader" option selected, Anaconda seems to delete all the entries from GRUB while "Skip bootloader" option suggests that GRUB should be left untouched.

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

How reproducible:
Always

Steps to Reproduce:
1. Install clean Fedora 16
2. Do full update of Fedora 16
3. Run Fedora 17 Alpha RC4, choose upgrade and then "Skip bootloader" option
  
Actual results:
Entries in /boot/grub2/grub.cfg are removed

Expected results:
/boot/grub2/grub.cfg is not touched

Additional info:
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Skip_Bootloader

Comment 1 Martin Krizek 2012-03-06 09:54:10 UTC
Created attachment 567884 [details]
anaconda-ks.cfg

Comment 2 Martin Krizek 2012-03-06 09:54:47 UTC
Created attachment 567886 [details]
upgrade.log

Comment 3 Martin Krizek 2012-03-06 09:55:14 UTC
Created attachment 567887 [details]
upgrade.log.syslog

Comment 4 Martin Krizek 2012-03-06 10:00:18 UTC
I propose this as a beta blocker per criterion "The installer must be able to successfully complete an upgrade installation from a clean, fully updated default installation (from any official install medium) of the previous stable Fedora release, either via preupgrade or by booting to the installer manually. The upgraded system must meet all release criteria" [1]

[1] https://fedoraproject.org/wiki/Fedora_17_Beta_Release_Criteria

Comment 5 Martin Krizek 2012-03-07 11:56:02 UTC
Note: I see this also when upgrading F16 -> F17 Beta TC1 (Anaconda 17.12).

Comment 6 David Lehman 2012-03-09 01:59:02 UTC
Anaconda is not touching your grub config.

The changes you are seeing are from grubby, which is invoked by the kernel's post-installation script.

There isn't really any way to make the system install a new kernel rpm without configuring your bootloader to be able to boot that new kernel. The "skip bootloader" option is intended for people who are using some non-linux bootloader and literally have no bootloader installed on their linux system.

Comment 7 Martin Krizek 2012-03-09 12:17:29 UTC
(In reply to comment #6)
> Anaconda is not touching your grub config.
> 
> The changes you are seeing are from grubby, which is invoked by the kernel's
> post-installation script.
> 
> There isn't really any way to make the system install a new kernel rpm without
> configuring your bootloader to be able to boot that new kernel. The "skip
> bootloader" option is intended for people who are using some non-linux
> bootloader and literally have no bootloader installed on their linux system.

It actually does not matter what changes the configuration at all, the point is that it is changed despite the fact that anaconda says:
"This option makes no changes to boot loader configuration."!

I know that it also says:
"If you are using a third party bootloader, you should choose this.",
but that does not imply that it changes your bootloader configuration if you use e.g. Grub. The description of the option is completely misleading and should be changed IMHO.

Comment 8 Kamil Páral 2012-03-09 13:00:13 UTC
Sigh, we deal with these issues every single release. The description of these options is so misleading, that _even Fedora QA members are confused by it_.

See also bug #800376.

Current state is:
1. 'Update bootloader' option is missing.
2. 'Skip bootloader' updates bootloader if it is grub. That means its description ("this option makes no changes") is not true.
3. Anaconda fails the QA test cases as they were documented for the previous release:
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_New_Bootloader
(works)
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Update_Bootloader
(not present, fail)
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Skip_Bootloader
("The previous bootloader configuration should be left completely untouched, even if it is now invalid (unbootable)", fail)

This is not a problem in code. It is a problem in failed assumptions, in documentation.

Here's my attempt to fix it (language correction needed of course):

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(o) Install new bootloader (recommended)
Removes any previous bootloader (if any) and installs a new one with default configuration. It will try to automatically detect any other operating systems you might have in your computer and list them together with Fedora.

( ) Try to update existing bootloader
For any supported bootloader this will attempt to add all the configuration items required to boot Fedora, but won't touch the bootloader otherwise (replace or upgrade it). Unsupported bootloaders will be ignored completely. Currently supported bootloaders: GRUB, GRUB 2

( ) Don't touch bootloader
The bootloader and its configuration will be ignored completely. You'll need to manually adjust them to boot Fedora.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Do you think it's more readable and valid?

If you really want to remove 'Update bootloader' option and merge it with 'Skip', and you also can't prohibit grubby updating grub.conf, just remove the last option. Then it reflects current Anaconda behavior (at least I think so).

The new description can also be re-used in the new Anaconda UI.

Comment 9 Kamil Páral 2012-03-09 13:10:13 UTC
I'll leave F17Beta blocker tag active on this bug, because till Beta we need an explanation from Anaconda team about the currently supported ways of bootloader upgrade (especially how exactly should they work in all the aforementioned cases). We need this information to update our test cases (linked above).

Can you provide that description here, David (or someone else)? Thanks.

After we have the exact knowledge how Anaconda should work, we can then discuss whether this bug itself should be a blocker or not (how much the labels are misleading and whether we see it as a problem). We can remove the blocker tag then.

Comment 10 Adam Williamson 2012-03-10 04:07:07 UTC
Discussed at 2012-03-09 blocker review meeting. Agreed this bug is not a blocker as the impact is fairly small (it affects only the rarely used 'skip bootloader' option). We have other bugs for more serious problems with bootloader handling on upgrade.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 11 Kamil Páral 2012-06-05 07:42:42 UTC
Brian, can you append a short explanation why you've closed this bug as WONTFIX? Thanks.

Comment 12 Brian Lane 2012-06-05 16:02:09 UTC
newui is going to change how this works/is presented to the user.