Skip to content
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

Use of leapp with megaraid drivers #913

Closed
kludgeaudio opened this issue Jun 27, 2022 · 6 comments
Closed

Use of leapp with megaraid drivers #913

kludgeaudio opened this issue Jun 27, 2022 · 6 comments
Labels
bug Something isn't working

Comments

@kludgeaudio
Copy link

The megaraid_sas drivers are no longer provided as part of the release distribution for Oracle Linux 8. This is no problem if your operating system disc is on a different controller; you can upgrade it with leapp and then install the drivers off elrepo. That goes fine.

However, if the disk itself is on a megaraid controller, the installation procedure seems to work but then it cannot boot into the upgrade-initramfs because there's no megaraid_sas driver rolled into that kernel.

Since Dell is still selling machines that require this driver today, I think dropping support for it was foolish on the part of the Oracle folks, but sadly I can do nothing about that.

Is there an official workaround for this?

@kludgeaudio kludgeaudio added the bug Something isn't working label Jun 27, 2022
@pirat89 pirat89 transferred this issue from oamg/leapp Jun 27, 2022
@vinzenz
Copy link
Member

vinzenz commented Jun 27, 2022

Thanks for the suggestion, we will take this in consideration for future improvements around this topic. There are multiple shortcuts taken at the moment, a proper analysis if the upgrade is actually affected by various restrictions, as is this one, might be added in future.
It is a very time consuming change, from analysis, implementation and testing POV, so it is rather a good idea to unmount the drives and unload the driver in the meantime.

@pirat89
Copy link
Member

pirat89 commented Jun 27, 2022

Well, we are not familiar with particular drivers nor with OL. We are familiar and we test upgrades just on RHEL. Regarding RHEL, we can share with you this link (https://access.redhat.com/discussions/3722151) with pretty long discussion about these drivers on RHEL 8 (not from the upgrade pov) so you can check whether you find an answer you are looking for. Regarding our information, some megaraid_sas drivers have been added back in RHEL 8.4+ as unsupported.

So it depends whether the particular driver is available on OL 8 in your case or not (that's what you need to discuss with your distribution vendor) - or whether there is a third party driver provided for the particular el8 kernel.


In case you find that particular one driver is possible to use on RHEL 8:
Another thing is that the driver might be needed to be part of the upgrade initramfs. If it is not part of it by default but you find it's present on particular OL 8 system, it will be need to add such a driver to the upgrade initramfs (and than to the target OL 8 initramfs). Definitelly something doable creating custom actors, but it could be pretty tricky now. We expect to provide in future a functionality that will make adding of particular / third-party drivers possible in a simple way (still required creation of custom actors) but not sure when we get there.

@kludgeaudio
Copy link
Author

kludgeaudio commented Jun 27, 2022 via email

@pirat89
Copy link
Member

pirat89 commented Jun 27, 2022

Well, you would need to create custom actors now that will basically regenerate the initramfs again. But let's say in most hacky way, you could just update this script (IIRC, on the system: /etc/leapp/repos.d/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/files/generate-initram.sh)

adding --add-driver option with expected param.
Also, it's highly possibly you will need to handle that later for the target initramfs as well to be able to boot to the system after the upgrade (

).


Additionally from what you wrote, you will need to add & enable the specific repository where the driver is present and install an rpm I guess. For the repo and how to create/add custom actors look at here:

Regarding the custom actor, you will want to do something like here -- just the actor should be executed e.g. during the ChecksPhase (ChecksPhaseTag)

  • produce the msg TargetUserSpaceUpgradeTasks(install_rpms=['your-rpm'])
  • and produce the msg RpmTransactionTaks(to_install=['your-rpm'])

This will ensure the rpm(s) will be installed during the upgrade and inside the targetuserspace container (where the upgrade initramfs is created).

@markohrastovec
Copy link

I just upgraded an IBM server with MegaRaid driver today. I believe UEK kernel from Oracle Linux still suports megaraid sas.

@pirat89
Copy link
Member

pirat89 commented Dec 11, 2023

The possibility to add drivers to the upgrade (& target) initramfs has been added by #1081 (see the template of the custom actor in the description). That should resolve this issue - well, it needs still some manual customisations, but our goals was to provide the possibility to deal with it.

@pirat89 pirat89 closed this as completed Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants