-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LEAPPing machines that needs 3rd-party kernel modules (eg, disk drivers) to boot might fail #705
Comments
Hi @krono. Thanks for the report and for the sharing of steps you need to do to update the upgrade-initramfs. I have a busy time in these days, so I will go more carefully through it later. So answering now just to what I read, without looking into the provided logs. We are aware about this limitation and we want to deliver a mechanism for users to make possible to create relatively simple custom actors (to customize/extend the default IPU functionality) to take care about various kernel drivers etc. During the upgrade. Currently we delivered in the upstream a mechanism that provides possibility to affect dracut modules used in the upgrade & target initramfs and added possibility to say what files should be aded into these initramfss. What is missing still is the mechanism for kernel drivers specifically and maybe the possibility to affect used dracut options. Unfortunately we have not documented it yet, as the testing is not finished and we would like to implement the support for drivers first. So to use the implemented mechanism could be now a little bit tricky. In short, it should be so easy as produce couple of messages in an actor. For example, look at the commonleappdracutmodules actor. It's not the best example as this is affecting just the upgrade initramfs and you can see there still a deprecated code present, but in short, something like api.produce(UpgradeInitramfsTasks(include_dracut_modules=[DracutModule(name=...,)]) Just in case of drivers, expect something like Currenty we are discussing our priorities. Opening ticket on RH support or BZ for Is the proposed solution OK for you? Currently we do not expect adding of a CLI option for that. Additional notes:
|
Hi @pirat89 thanks for reading through my (admittedly uncooridnated) notes.
Thats what I thought. For me it was a one-time-thing. We somehow got the affected machine to work and just hope that we got far enough in the leapping that its fine now. Feel free to close; I learned quite bit, tho, thanks! |
Hi @krono, thank for letting us know. I will keep this one opened as we can use it for public tracking around the RAIDs question & drivers in general. Just realized that for someone else who could read this, it would be helpful to see the script that is executed to create the upgrade initramfs: In case of mdadm, right now it seems that
could be helpful in case of mdadm. But I haven't tested it yet and I am not SME around storage. It's just our idea where we would like to start experiment with mdadm in future. |
Sounds like a good idea to me. Thanks. |
It seems we will be working around that in upcoming months. pinning the issue. |
sounds fixed by #1081 |
To my understanding It's fixed partially. Another work is still expected regarding
|
Actual behavior
Some systems are set up with 3rd-party kernel modules for the booting hard disk.
(Most typically, these come as DUPs at install time)
When leapping, it seems that these modules are not picked up for the upgrade-initrd.
To Reproduce
Steps to reproduce the behavior
Expected behavior
LEAPP may pick up kmods for the initramfs when they appear in the upgrade.
Maybe a switch, simliar to
enablerepo
could be used to force the "installation" of certain packages prior to creation of the initiramfs?System information
[System is dead now]
leapp-data14.tar.gz
Situation that lead to this idea
Context and Things tried
Our machine contains an infamous Intel C620/LSI MegaSR2-RAID chip.
Vendors provide drivers for these as DUPs, eg Dell, HPE, or Fujitsu.
This means, installing with that chip using DUPs is fine.
Our preupgrade went fine, and in anticipation we even included the online-version of the DUPs in the
--enablerepo
step.This resulted in no error and the new version of the kmod was listed among the packages to be installe (NOTE: it was marked as a downgrade, as the RHEL7.9 version of the driver has a higher version number than the RHEL8.2) version.
We also had to make use of a targeted LEAPP (to 8.2), as the driver is not yet available for 8.4, only up to 8.3.
After reviewing the report, we proceeded with
upgrade
and stopped just beforereboot
.At that time, we grabbed the log files (see leap-log.zip )
and inspected the initramfs and compared it to the initramfs of the still running RHEL7.9.
(you will find a few mentiones of megasr2 in the logs).
We found the kmod missing. As a workaround, we tried manually including the kmod from the already downloaded rpm into the initramfs:
Initramfs patching steps
These are specific to RHEL8.2, and the Fujitsu variant of the MegaSR2-Driver ([which can be found here](http://patches.ts.fujitsu.com/linux/pldp/RHEL8/rhel8-u2/x86_64/)The following steps make the intiramfs similar to the RHEL7.9 one with regards to megasr.
After reboot, the system actually sees the disk which indicates that the driver was found.
However during the brief period we could watch the system,
primergy-megasr2
package in the new userland seemed to failThe system then rebooted, but at grub, only the RHEL7 variants/kernels were available.
Trying to boot these hangs the system.
* EDIT *: It turns out the kernel and initramfs were correctly build with the 3rd-party module, however, the respective entries were not written to the grub config.
In fact, the old, RHEL7.9
grub.cfg
is in place, and the config to be,grub.cfg.new
is cut off right after### begin /etc/grub.d/10_linux
.manually editing the grub cmdline boots the system, but it seems the root file system was damaged and took with it the
leap_resume.service
Note: closing this simply because we used
LEAPP_UNSUPPORTED
machinery would be fair.Nonetheless, a means to include kmods for a leapped upgrade would be nice.
The text was updated successfully, but these errors were encountered: