leapp-repository/0009-Modify-upgrade-not-terminate-after-lockfile-detected.patch

54 lines
2.9 KiB
Diff
Raw Normal View History

From 1f8b8f3259d7daff63dff0a4d630b36e615e416d Mon Sep 17 00:00:00 2001
From: David Kubek <dkubek@redhat.com>
Date: Wed, 10 Apr 2024 12:08:23 +0200
Subject: [PATCH 09/34] Modify upgrade not terminate after lockfile detected
Previously, when the upgrade failed in the initram the file
/sysroot/root/tmp_leapp_py3/.leapp_upgrade_failed has been generated and
upon detecting this file leapp triggered an emergency shell. This caused
the original failure to be hidden from the customer.
With this commit, we no longer crash immediately upon detecting the file
but rather continue and "wait" for the underlying issue and error to
emerge.
RHEL-24148
---
.../files/dracut/85sys-upgrade-redhat/do-upgrade.sh | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh
index 4a6f7b62..56a94b5d 100755
--- a/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh
+++ b/repos/system_upgrade/common/actors/commonleappdracutmodules/files/dracut/85sys-upgrade-redhat/do-upgrade.sh
@@ -282,6 +282,11 @@ do_upgrade() {
local dirname
dirname="$("$NEWROOT/bin/dirname" "$NEWROOT$LEAPP_FAILED_FLAG_FILE")"
[ -d "$dirname" ] || mkdir "$dirname"
+
+ echo >&2 "Creating file $NEWROOT$LEAPP_FAILED_FLAG_FILE"
+ echo >&2 "Warning: Leapp upgrade failed and there is an issue blocking the upgrade."
+ echo >&2 "Please file a support case with /var/log/leapp/leapp-upgrade.log attached"
+
"$NEWROOT/bin/touch" "$NEWROOT$LEAPP_FAILED_FLAG_FILE"
fi
@@ -358,10 +363,10 @@ mount -o "remount,rw" "$NEWROOT"
# check if leapp previously failed in the initramfs, if it did return to the emergency shell
[ -f "$NEWROOT$LEAPP_FAILED_FLAG_FILE" ] && {
echo >&2 "Found file $NEWROOT$LEAPP_FAILED_FLAG_FILE"
- echo >&2 "Error: Leapp previously failed and cannot continue, returning back to emergency shell"
- echo >&2 "Please file a support case with $NEWROOT/var/log/leapp/leapp-upgrade.log attached"
- echo >&2 "To rerun the upgrade upon exiting the dracut shell remove the $NEWROOT$LEAPP_FAILED_FLAG_FILE file"
- exit 1
+ echo >&2 "Warning: Leapp failed on a previous execution and something might be blocking the upgrade."
+ echo >&2 "Continuing with the upgrade anyway. Note that any subsequent error might be potentially misleading due to a previous failure."
+ echo >&2 "A log file will be generated at $NEWROOT/var/log/leapp/leapp-upgrade.log."
+ echo >&2 "In case of persisting failure, if possible, try to boot to the original system and file a support case with /var/log/leapp/leapp-upgrade.log attached."
}
[ ! -x "$NEWROOT$LEAPPBIN" ] && {
--
2.42.0