Bug 1988419
| Summary: | RHEL 7 kernels not removed and bootable after leapp upgrade | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | lnarvaez |
| Component: | leapp-repository | Assignee: | Leapp Notifications Bot <leapp-notifications-bot> |
| Status: | NEW --- | QA Contact: | upgrades-and-conversions |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.9 | CC: | dhiguera, jbreitwe, peter.vreman, pstodulk |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 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
lnarvaez
2021-07-30 13:58:53 UTC
Hi Louis, thank you for the report. This is currently expected result, not a bug. We know about this problem and even we have documented steps that customer is required to do manually after the upgrade that lead into the correct removal of the old kernel and the bootloader entry:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/upgrading_from_rhel_7_to_rhel_8/index
We expect in future to improve the experience in this area, however for now, it's not sure when and whether it happen in the end.
The improvement itself is relatively easy if we ignore various side effects. However, when we count with various side-effects, the solution doesn't have to be so easy as it looks like. Notably:
1) it will immadiately breaks the Boom's tool snapshots
2) it can trigger the removal of additional rpms that users originally expected to be present after the upgrad
3) If user requires a special (3rd-party) drivers to be able to boot and haven't realized that before, ...
If customer requires the automatic removal of old kernels, they could extend the current functionality by own actors following the article below, that do all required steps described in the article above.
Customizing your Red Hat Enterprise Linux in-place upgrade:
https://access.redhat.com/articles/4977891
Petr
Petr 1) BOOM is not a hard requirement and in 95% of the cases not needed because the VM infrastructure provides already VM level Snapshotting that is much easier. If BOOM is used it can be detected by leapp and mention that the kernel cannot be delete in the first leapp step and a manual leapp step is neede 2) The RHEL8 upgrade process removes already so many RPMs that can trigger tons of other RPMS to be removed that it does not hurt much more to also remove kernel-3.10. The current documented manual cleanup steps tjhat recommend to remove all non-'*.el8.*rpm' is even much worser and will garantuee to break almost every no empty redhat system. 3) The 3rdparty drivers shall be part of the customer preparation phase and shall be identified by the leapp preupgrade process if they are inhibitors I find it reasonable that i can expect after a leapp upgrade that the RHEL7 that stuff is removed out-of-the-box. That is how leapp is marketed. Not that i have afterwards run another 20 commands (removing the leftover of the kernels has 'for-loop' making it for the person executing it a lot more to prepare and execute the commands and not just a simpel 'copy-and-paste' Peter The removal of the old kernel is on our roadmap and we expect to deliver it during the next year (2022). In the meantime you can write a custom actor that will do this thing automatically. Example of such an actor is here:
https://github.com/oamg/leapp-repository/blob/master/repos/system_upgrade/el7toel8/actors/removeleftoverpackages/actor.py
In case of the custom actor, do not use the ExperimentalTag tag. Here is a link to the public tutorials for leapp:
https://leapp.readthedocs.io/en/latest/tutorials.html
The following 2 simple shell commands will do the job also: ~~~ yum remove kernel-3\* rm -rfv /lib/modules/3.*.el7* /usr/lib/firmware/3.*.el7* /boot/loader/entries/*-3.*.el7* ~~~ |