Any reason why bug 364 (sorry can’t post links yet) not been fixed? I chased my tail for an entire day. 2 LLM’s suggested these alternatives which I had not tested:
Step 1: Locate the Correct Directory and File
Navigate to the Leapp repository for the 9 → 10 upgrade on your test node. The official documentation notes that actors can produce messages to include custom modules in the initramfs. The file that controls the packages included in the upgrade container is userspacegen.py.
cd /usr/share/leapp-repository/repositories/system_upgrade/el9toel10/actors/targetuserspacecreator/libraries/
Step 2: Modify the userspacegen.py Script
Use vim or your preferred editor to open the userspacegen.py file.
vim userspacegen.py
Look for the line where self.packages is defined. You need to add mdadm to the list of packages that Leapp installs into its special upgrade environment. It will look something like this:
self.packages = {'dnf', 'dnf-command(config-manager)', 'kernel-modules', 'mdadm'}
The Upstream Persistent Configuration File
Instead of creating a custom dracut rule out of thin air, the leapp framework actually includes an official, native environment variable file that is designed to persist structural overrides directly into the upgrade container’s environment.
Rather than messing with a drop-in file like 99-leapp-mdraid.conf, you can explicitly tell the leapp engine to force-include storage drivers by modifying the framework’s environment profile right before you trigger the upgrade execution.
Before running the upgrade on AlmaLinux 9, you would append the mdraid module directly to the Leapp driver generation profile:
# Force the Leapp engine's internal dracut blueprint to natively embed software RAID
export LEAPP_DRACUT_MODULES="mdraid"
# Run the upgrade with the environment variable active
sudo -E leapp upgrade
(The -E flag tells sudo to preserve your active environment variables so the leapp binary actually reads the parameter).