= problem =
See [http://bugzilla.redhat.com/590823 RHBZ#590823 - Text-mode upgrade fails when installing new bootloader -- KeyError: 'bootloader']
= analysis =
Some tests in the [https://fedoraproject.org/wiki/Test_Results:Current_Installation_Test install test matrix] involve user interface components in both text-mode and graphical-mode (native or VNC). One such bug (RHBZ #590823) involved a problem found only during text-mode upgrades to Fedora 13. The text-mode upgrade screen shows different options thanenhancement recommendation =
= enhancement recommendation =
I'm hesitant to recommend specific text-mode tests for each user interface element that differs in text-mode and graphical-mode (it would be exhaustive but unachievable). As a catch-all, testing a text-mode install is included in the current matrix. Is there something small that can be done to cover the gap?
I think the above suggestion1 and 2 are both ok. Test-mode generally need two tests: * 1. A fresh install.(Already included in the matrix) * 2. An update install. Tester can choose any bootloader configuration method from the two. But since the bug was discovered only on a specific configuration, having two test-mode update tests can have more coverage.
Two tests have been drafted for upgrading in text mode:
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Skip_Bootloader_Text_Mode
https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Update_Bootloader_Text_Mode
Adding clumens for some clarification on anaconda upgrade bootloader behavior.
Replying to [comment:2 rhe]:
Two tests have been drafted for upgrading in text mode: https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Skip_Bootloader_Text_Mode https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Update_Bootloader_Text_Mode
Nice, the tests look good.
I'm still unclear on the difference in expected results for the ''Skip bootloader'' and the ''update bootloader'' test case. When a new kernel package is installed during the upgrade, it will run grubby (see the %script of the kernel rpm) and modify grub.conf. When we choose ''Skip bootloader'', does that mean that anaconda '''will not''' write a new bootloader configuration and '''will not''' run grub-install, but '''will''' update the existing grub.conf when the new kernel is installed?
clumens: any thoughts?
I'm still unclear on the difference in expected results for the ''Skip bootloader'' and the ''update bootloader'' test case. When a new kernel package is installed during the upgrade, it will run grubby (see the %script of the kernel rpm) and modify grub.conf. When we choose ''Skip bootloader'', does that mean that anaconda '''will not''' write a new bootloader configuration and '''will not''' run grub-install, but '''will''' update the existing grub.conf when the new kernel is installed? clumens: any thoughts?
Regardless of what option you pick on the bootloader UI, the kernel's %post scriptlet will still get run. So you can't help but get grub-install run and grub.conf changed.
If you select "Skip bootloader", you won't get the screen that allows you to setup how the bootloader should be configured, anaconda won't write out a bootloader configuration for you, and it will not run whatever program installs the bootloader for your platform. You will, however, still get whatever happens when the kernel's %post script runs.
Does that clear things up a bit?
Replying to [comment:4 clumens]:
I'm still unclear on the difference in expected results for the ''Skip bootloader'' and the ''update bootloader'' test case. When a new kernel package is installed during the upgrade, it will run grubby (see the %script of the kernel rpm) and modify grub.conf. When we choose ''Skip bootloader'', does that mean that anaconda '''will not''' write a new bootloader configuration and '''will not''' run grub-install, but '''will''' update the existing grub.conf when the new kernel is installed? clumens: any thoughts? Regardless of what option you pick on the bootloader UI, the kernel's %post scriptlet will still get run. So you can't help but get grub-install run and grub.conf changed. If you select "Skip bootloader", you won't get the screen that allows you to setup how the bootloader should be configured, anaconda won't write out a bootloader configuration for you, and it will not run whatever program installs the bootloader for your platform.
If you select "Skip bootloader", you won't get the screen that allows you to setup how the bootloader should be configured, anaconda won't write out a bootloader configuration for you, and it will not run whatever program installs the bootloader for your platform.
Thanks clumens, Then is there any way to test the difference between “update” and "skip" bootloader? The existing [https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Update_Bootloader update bootloader] test has the same results no matter one chooses update or skip bootloader.
I can't think of anything, no.
Replying to [comment:6 clumens]:
I reached out for additional thoughts on [https://www.redhat.com/archives/anaconda-devel-list/2010-September/msg00169.html anaconda-devel-list]. Maybe that will help highlight differences between upgrade and skip ... or combine the two options in the UI. Stay tuned ...
Replying to [comment:7 jlaska]:
Replying to [comment:6 clumens]: I can't think of anything, no. I reached out for additional thoughts on [https://www.redhat.com/archives/anaconda-devel-list/2010-September/msg00169.html anaconda-devel-list]. Maybe that will help highlight differences between upgrade and skip ... or combine the two options in the UI. Stay tuned ...
Chris provided a great breakdown on the differences between the 3 bootloader upgrade options (see https://www.redhat.com/archives/anaconda-devel-list/2010-October/msg00036.html). I'm inclined to think using that mail, we can distinguish between upgraded bootloader and skipped bootloader by comparing the MBR (stage#1) with /boot/grub/stage1. If they are equal, it was upgraded. If they are different, it was skipped.
The following command alone does '''not''' seem to be enough to do the comparison. I suspect some fiddling may be required: {{{
}}}
UPDATE: The initial motivation for this ticket has been resolved. The [https://fedoraproject.org/wiki/Test_Results:Current_Installation_Test installation matrix] now contains text-mode versions of the [https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Update_Bootloader_Text_Mode update bootloader] and [https://fedoraproject.org/wiki/QA:Testcase_Anaconda_Upgrade_Skip_Bootloader_Text_Mode skip bootloader] tests.
I'm moving this ticket into the F-15 branch so we can continue to track updating the cases to better detect whether the bootloader was '''skipped''' or '''updated''' (see comment:8).
Replying to [comment:9 jlaska]:
Just doing some ticket cleanup. Hurry, are you okay with closing this ticket out ... and creating a new ticket (if needed) to resolve any remaining bootloader upgrade issues?
Replying to [comment:10 jlaska]:
Replying to [comment:9 jlaska]: I'm moving this ticket into the F-15 branch so we can continue to track updating the cases to better detect whether the bootloader was '''skipped''' or '''updated''' (see comment:8). Just doing some ticket cleanup. Hurry, are you okay with closing this ticket out ... and creating a new ticket (if needed) to resolve any remaining bootloader upgrade issues?
Thanks, I'm closing this ticket and open another: [https://fedorahosted.org/fedora-qa/ticket/198 Ticket #198]
Log in to comment on this ticket.