Closed N3WWN closed 7 months ago
Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergable. If you want to re-run tests or request review, you can use following commands as a comment:
Please open ticket in case you experience technical problem with the CI. (RH internal only)
Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please consider rerunning the CI by commenting leapp-ci build (might require several comments). If the problem persists, contact leapp-infra.
Thanks for the contribution @N3WWN ! We'll release updated packages soon.
When attempting to upgrade CentOS 7 systems with UEFI and software RAID1 on top of NVMe disks, the upgrade fails during Finalization with the following:
leapp.libraries.stdlib.CalledProcessError: Command ['/sbin/efibootmgr', '-c', '-d', '/dev/nvme0n1p', '-p', '3', '-l', '\\EFI\rocky\\shimx64.efi', '-L', 'Rocky Linux'] failed with exit code 5
The failure is due to
efidev
being parsed into/dev/nvme0n1p
instead of/dev/nvme0n1
. (NVMe device enumeration follows a different format than most typical non-NVMe block devices.)This was confirmed with
leapp-upgrade-el7toel8-0.16.0-6.el7.elevate.19.noarch
/leapp-upgrade-el7toel8-deps-0.16.0-6.el7.elevate.19.noarch
.This PR modifies
devparts
to check if the argument contains '/dev/nvme' and, if so, generateddev
andpart
slightly differently.Before this PR,
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/efibootorderfix/finalization/actor.py
attempts to execute:/sbin/efibootmgr -c -d /dev/nvme0n1p -p 3 -l \\EFI\rocky\\shimx64.efi -L 'Rocky Linux'
and/sbin/efibootmgr -c -d /dev/nvme0n2p -p 3 -l \\EFI\rocky\\shimx64.efi -L 'Rocky Linux'
which have misnamed devices. The failure is triggered when the first command is reached.After this PR, the device names are correct and the actor attempts to execute:
/sbin/efibootmgr -c -d /dev/nvme0n1 -p 3 -l \\EFI\rocky\\shimx64.efi -L 'Rocky Linux'
and/sbin/efibootmgr -c -d /dev/nvme0n2 -p 3 -l \\EFI\rocky\\shimx64.efi -L 'Rocky Linux'
.