leapp-repository/SOURCES/0013-livemode-Include-etc-crypttab-in-upgrade-initramfs.patch
2025-12-01 09:14:24 +00:00

51 lines
2.5 KiB
Diff

From ae048a890ddd2169f3f46d9fbd1545fd65670e16 Mon Sep 17 00:00:00 2001
From: Matej Matuska <mmatuska@redhat.com>
Date: Mon, 6 Oct 2025 15:56:16 +0200
Subject: [PATCH 13/55] livemode: Include /etc/crypttab in upgrade initramfs
The /etc/crypttab file is sometimes not picked up automatically by
dracut, this change includes it unconditionally. This is required for
auto-unlocking encrypted devices in upgrade environment.
The upgradeinitramfsgenerator is modified to process
UpgradeInitramfsTasksinclude's include_files when upgrading in livemode.
Jira: RHEL-90098
---
.../common/actors/checkluks/libraries/checkluks.py | 4 +++-
.../libraries/upgradeinitramfsgenerator.py | 3 +++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/repos/system_upgrade/common/actors/checkluks/libraries/checkluks.py b/repos/system_upgrade/common/actors/checkluks/libraries/checkluks.py
index aac171a7..d52b9e73 100644
--- a/repos/system_upgrade/common/actors/checkluks/libraries/checkluks.py
+++ b/repos/system_upgrade/common/actors/checkluks/libraries/checkluks.py
@@ -161,7 +161,9 @@ def check_invalid_luks_devices():
copy_files=[CopyFile(src="/etc/crypttab")],
install_rpms=required_crypt_rpms)
)
- api.produce(UpgradeInitramfsTasks(include_dracut_modules=[
+ api.produce(UpgradeInitramfsTasks(
+ include_files=['/etc/crypttab'],
+ include_dracut_modules=[
DracutModule(name='clevis'),
DracutModule(name='clevis-pin-tpm2')
])
diff --git a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py
index 02c3fd9d..3ad92167 100644
--- a/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py
+++ b/repos/system_upgrade/common/actors/initramfs/upgradeinitramfsgenerator/libraries/upgradeinitramfsgenerator.py
@@ -436,6 +436,9 @@ def _generate_livemode_initramfs(context, userspace_initramfs_dest, target_kerne
'--lvmconf', '--mdadmconf',
'--kver', target_kernel_ver, '-f', userspace_initramfs_dest]
+ # Add included files
+ cmd.extend(itertools.chain(*(('--install', file) for file in initramfs_includes.files)))
+
# Add dracut modules
cmd.extend(itertools.chain(*(('--add', module) for module in dracut_modules)))
--
2.51.1