Bug 1002891

Summary: kernel %post script are too fragile in case of impromptu reboot
Product: [Fedora] Fedora Reporter: Michael S. <misc>
Component: grubbyAssignee: Peter Jones <pjones>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: agk, dneary, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, marcelo.barbosa, mscherer, okozina, oliver, pjones, prajnoha, sgraf, zkabelac
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-12 10:24:43 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:

Description Michael S. 2013-08-30 07:37:00 UTC
At $dayjob, we found out that if someone for whatever reason, reboot during a huge update, there is a 100% chance that the next reboot does go well right from the kernel, which prevent any remote troubleshooting or fixing. 

We have several non technical users, and while we tell "do not shutdown during upgrade", there is statistically always a few accidents ( either the user forgot about the upgrade running in background, or there is no more power, etc ). And since not all are linux-savy, they may not know how to boot on a older kernel and start to panic due to the error message. 

So in order to reduce support call, I looked at it and found the root cause.

The reason is the following :
- kernel %post update grub/lilo/etc
- kernel %posttrans do create the initrd.

It make sense to create the initrd last, since we want to have the latest version of all library. But if there is a problem once the kernel is installed and before the end of update, the grub configuration point to a invalid entry, since there is no working initrd.

So I think it would be more robust if the configuration of grub was updated only once the initrd is created. 

While this bug is for F19, once that's tested, i will also likely ask for the same fix on RHEL 6.

We also have a workaround for it, by disabling auto grub update in /etc/sysconfig/kernel, ( UPDATEDEFAULT=no ) and adding the bootloader in a script in /etc/kernel/postinst.d/ , but it would be better to do the right thing by default.

Comment 1 Peter Jones 2013-08-30 14:45:33 UTC
So what we should probably do is make %post add the new kernel's stanza, make %posttrans create the initrd, and then at the end of %posttrans, make it the default.

Comment 2 Josh Boyer 2013-09-16 13:10:15 UTC
Peter was working on this a bit ago.  It requires changes in grubby, and small change in kernel.spec when grubby is built and ready.  Moving to grubby for now.

Comment 3 Dave Neary 2014-03-12 13:10:50 UTC
Just to add my $0.02:

I ran into this on a fedup --net 20 - there was some kind of issue during the reboot process and the whole upgrade stopped after installing ~1200 pachaes of ~2700. The computer was unresponsive, there was no remote access, so I did a hard reboot. I discovered that there was only F19 kernels in the Grub menu on reboot, and the fedup upgrade did not terminate (the "upgrade" Grub menu item had disappeared on reboot).

So I regenerated grub.cfg with grub2-knconfig -o /boot/grub2/grub.cfg which promptly broke everything because there were Grub entries for F20 kernels with no corresponding initrd.

It took a long time for me to get a reasonable config, and I still have lingering issues.

Comment 4 Jaroslav Reznik 2015-03-03 15:01:53 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 5 Fedora End Of Life 2016-07-19 10:20:19 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.

Comment 6 M. Scherer 2016-07-22 16:52:39 UTC
Still valid

Comment 7 Jan Kurik 2016-07-26 04:55:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 8 Fedora End Of Life 2017-11-16 19:29:41 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 9 Fedora End Of Life 2017-12-12 10:24:43 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 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.