forked from rpms/leapp-repository
Fix the upgrade for systems without subscription-manager package
Resolves: RHEL-14901
This commit is contained in:
parent
8b6f175436
commit
432b9a22f9
@ -0,0 +1,62 @@
|
||||
From d1f28cbd143f2dce85f7f175308437954847aba8 Mon Sep 17 00:00:00 2001
|
||||
From: Petr Stodulka <pstodulk@redhat.com>
|
||||
Date: Thu, 2 Nov 2023 14:20:11 +0100
|
||||
Subject: [PATCH] Do not create dangling symlinks for containerized RHSM
|
||||
|
||||
When setting RHSM into the container mode, we are creating symlinks
|
||||
to /etc/rhsm and /etc/pki/entitlement directories. However, this
|
||||
creates dangling symlinks if RHSM is not installed or user manually
|
||||
removes one of these dirs.
|
||||
|
||||
If any of these directories is missing, skip other actions and
|
||||
log the warning. Usually it means that RHSM is not actually used
|
||||
or installed at all, so in these cases we can do the skip. The
|
||||
only corner case when system could use RHSM without
|
||||
/etc/pki/entitlement is when RHSM is configured to put these
|
||||
certificate on a different path, and we do not support nor cover
|
||||
such a scenario as we are not scanning the RHSM configuration at
|
||||
all.
|
||||
|
||||
This also solves the problems on systems that does not have RHSM
|
||||
available at all.
|
||||
---
|
||||
repos/system_upgrade/common/libraries/rhsm.py | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/repos/system_upgrade/common/libraries/rhsm.py b/repos/system_upgrade/common/libraries/rhsm.py
|
||||
index 18842021..eb388829 100644
|
||||
--- a/repos/system_upgrade/common/libraries/rhsm.py
|
||||
+++ b/repos/system_upgrade/common/libraries/rhsm.py
|
||||
@@ -325,6 +325,11 @@ def set_container_mode(context):
|
||||
could be affected and the generated repo file in the container could be
|
||||
affected as well (e.g. when the release is set, using rhsm, on the host).
|
||||
|
||||
+ We want to put RHSM into the container mode always when /etc/rhsm and
|
||||
+ /etc/pki/entitlement directories exists, even when leapp is executed with
|
||||
+ --no-rhsm option. If any of these directories are missing, skip other
|
||||
+ actions - most likely RHSM is not installed in such a case.
|
||||
+
|
||||
:param context: An instance of a mounting.IsolatedActions class
|
||||
:type context: mounting.IsolatedActions class
|
||||
"""
|
||||
@@ -332,6 +337,17 @@ def set_container_mode(context):
|
||||
api.current_logger().error('Trying to set RHSM into the container mode'
|
||||
'on host. Skipping the action.')
|
||||
return
|
||||
+ # TODO(pstodulk): check "rhsm identity" whether system is registered
|
||||
+ # and the container mode should be required
|
||||
+ if (not os.path.exists(context.full_path('/etc/rhsm'))
|
||||
+ or not os.path.exists(context.full_path('/etc/pki/entitlement'))):
|
||||
+ api.current_logger().warning(
|
||||
+ 'Cannot set the container mode for the subscription-manager as'
|
||||
+ ' one of required directories is missing. Most likely RHSM is not'
|
||||
+ ' installed. Skipping other actions.'
|
||||
+ )
|
||||
+ return
|
||||
+
|
||||
try:
|
||||
context.call(['ln', '-s', '/etc/rhsm', '/etc/rhsm-host'])
|
||||
context.call(['ln', '-s', '/etc/pki/entitlement', '/etc/pki/entitlement-host'])
|
||||
--
|
||||
2.41.0
|
||||
|
@ -42,7 +42,7 @@ py2_byte_compile "%1" "%2"}
|
||||
|
||||
Name: leapp-repository
|
||||
Version: 0.19.0
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: Repositories for leapp
|
||||
|
||||
License: ASL 2.0
|
||||
@ -56,6 +56,7 @@ BuildArch: noarch
|
||||
### PATCHES HERE
|
||||
# Patch0001: filename.patch
|
||||
Patch0001: 0001-RHSM-Adjust-the-switch-to-container-mode-for-new-RHS.patch
|
||||
Patch0002: 0002-Do-not-create-dangling-symlinks-for-containerized-RH.patch
|
||||
|
||||
|
||||
%description
|
||||
@ -199,6 +200,7 @@ Requires: python3-gobject-base
|
||||
# APPLY PATCHES HERE
|
||||
# %%patch0001 -p1
|
||||
%patch0001 -p1
|
||||
%patch0002 -p1
|
||||
|
||||
|
||||
%build
|
||||
@ -276,6 +278,10 @@ done;
|
||||
# no files here
|
||||
|
||||
%changelog
|
||||
* Thu Nov 02 2023 Petr Stodulka <pstodulk@redhat.com> - 0.19.0-4
|
||||
- Fix the upgrade for systems without subscription-manager package
|
||||
- Resolves: RHEL-14901
|
||||
|
||||
* Tue Oct 31 2023 Petr Stodulka <pstodulk@redhat.com> - 0.19.0-3
|
||||
- Fix the upgrade when the release is locked by new subscription-manager
|
||||
- Resolves: RHEL-14901
|
||||
|
Loading…
Reference in New Issue
Block a user