tests/sanity: add a rescue kernel boot entry

Reinstalling the kernel-core rpm fails when there is just a single boot
entry originaly which seems to be the case on cloud image. Workaround
that by adding a rescue kernel image.
This commit is contained in:
Dan Horák 2025-11-21 18:09:41 +01:00
parent a19b8a2f6f
commit 85868729f8

View File

@ -97,12 +97,15 @@ rlJournalStart
# check kernel installation, must not create /boot/<machineid>
if [ $UID -eq 0 ]; then
rlLog "Apply machine-id workaround if running from a cloud image"
pushd /boot/loader/entries/
[ -f ffffffffffffffffffffffffffffffff-$(uname -r).conf ] && \
mv ffffffffffffffffffffffffffffffff-$(uname -r).conf $(cat /etc/machine-id)-$(uname -r).conf
popd
if rlCheckRpm kernel-core; then
rlLog "Apply machine-id workaround if running from a cloud image"
pushd /boot/loader/entries/
if [ -f ffffffffffffffffffffffffffffffff-$(uname -r).conf ]; then
mv ffffffffffffffffffffffffffffffff-$(uname -r).conf $(cat /etc/machine-id)-$(uname -r).conf
rlCheckRpm dracut-config-rescue || dnf install -y dracut-config-rescue
kernel-install add "$(uname -r)" "/lib/modules/$(uname -r)/vmlinuz"
fi
popd
rlRun "dnf -y reinstall kernel-core" 0 "Reinstalling the kernel to verify BLS scripts function"
rlAssertNotExists /boot/`cat /etc/machine-id`
else