leapp-repository/SOURCES/0030-skip-pre-generation-of-systemd-fstab-mount-units-dur.patch
2025-12-01 09:14:24 +00:00

71 lines
3.3 KiB
Diff

From 87f584d8f9b957b9ae0138d6963077d87ccb2067 Mon Sep 17 00:00:00 2001
From: Peter Mocary <pmocary@redhat.com>
Date: Mon, 20 Oct 2025 11:40:04 +0200
Subject: [PATCH 30/55] skip pre-generation of systemd fstab mount units during
LiveMode upgrade
The new storage initialization solution interfered with LiveMode. Since
LiveMode is a different upgrade approach, we now skip pre-generation of
systemd fstab mount units (mount_unit_generator actor) when
upgrading this way.
---
.../actors/initramfs/mount_units_generator/actor.py | 5 ++++-
.../libraries/mount_unit_generator.py | 8 ++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/repos/system_upgrade/common/actors/initramfs/mount_units_generator/actor.py b/repos/system_upgrade/common/actors/initramfs/mount_units_generator/actor.py
index 5fe25515..dd667513 100644
--- a/repos/system_upgrade/common/actors/initramfs/mount_units_generator/actor.py
+++ b/repos/system_upgrade/common/actors/initramfs/mount_units_generator/actor.py
@@ -1,16 +1,19 @@
from leapp.actors import Actor
from leapp.libraries.actor import mount_unit_generator as mount_unit_generator_lib
-from leapp.models import TargetUserSpaceInfo, UpgradeInitramfsTasks
+from leapp.models import LiveModeConfig, TargetUserSpaceInfo, UpgradeInitramfsTasks
from leapp.tags import InterimPreparationPhaseTag, IPUWorkflowTag
class MountUnitGenerator(Actor):
"""
Sets up storage initialization using systemd's mount units in the upgrade container.
+
+ Note that this storage initialization is skipped when the LiveMode is enabled.
"""
name = 'mount_unit_generator'
consumes = (
+ LiveModeConfig,
TargetUserSpaceInfo,
)
produces = (
diff --git a/repos/system_upgrade/common/actors/initramfs/mount_units_generator/libraries/mount_unit_generator.py b/repos/system_upgrade/common/actors/initramfs/mount_units_generator/libraries/mount_unit_generator.py
index e1060559..943bddd4 100644
--- a/repos/system_upgrade/common/actors/initramfs/mount_units_generator/libraries/mount_unit_generator.py
+++ b/repos/system_upgrade/common/actors/initramfs/mount_units_generator/libraries/mount_unit_generator.py
@@ -5,7 +5,7 @@ import tempfile
from leapp.exceptions import StopActorExecutionError
from leapp.libraries.common import mounting
from leapp.libraries.stdlib import api, CalledProcessError, run
-from leapp.models import TargetUserSpaceInfo, UpgradeInitramfsTasks
+from leapp.models import LiveModeConfig, TargetUserSpaceInfo, UpgradeInitramfsTasks
def run_systemd_fstab_generator(output_directory):
@@ -295,8 +295,12 @@ def request_units_inclusion_in_initramfs(files_to_include):
def setup_storage_initialization():
- userspace_info = next(api.consume(TargetUserSpaceInfo), None)
+ livemode_config = next(api.consume(LiveModeConfig), None)
+ if livemode_config and livemode_config.is_enabled:
+ api.current_logger().debug('Pre-generation of systemd fstab mount units skipped: The LiveMode is enabled.')
+ return
+ userspace_info = next(api.consume(TargetUserSpaceInfo), None)
with mounting.NspawnActions(base_dir=userspace_info.path) as upgrade_container_ctx:
with tempfile.TemporaryDirectory(dir='/var/lib/leapp/', prefix='tmp_systemd_fstab_') as workspace_path:
run_systemd_fstab_generator(workspace_path)
--
2.51.1