ipuworkflowconfig.py get_os_release(path): do not add .999 to os_version if centos

Create symlinks of RHSM certs path:
 prod-certs/8 -> prod-certs/8.10
 prod-certs/9 -> prod-certs/9.5
 prod-certs/10 -> prod-certs/10.0
This commit is contained in:
Yuriy Kohut 2025-05-16 15:50:02 +03:00
parent 436985a6cb
commit 37a4e2087b
2 changed files with 14 additions and 39 deletions

View File

@ -3727,45 +3727,6 @@ index 582a5821..18f2c33f 100644
+ to_reinstall=list(to_reinstall),
modules_to_reset=list(modules_to_reset.values()),
modules_to_enable=list(modules_to_enable.values())))
diff --git a/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py b/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py
index f76677fd..baee9922 100644
--- a/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py
+++ b/repos/system_upgrade/common/actors/ipuworkflowconfig/libraries/ipuworkflowconfig.py
@@ -1,5 +1,6 @@
import json
import os
+import sys
import platform
from leapp.exceptions import StopActorExecutionError
@@ -49,15 +50,25 @@ def get_os_release(path):
:return: `OSRelease` model if the file can be parsed
:raises: `IOError`
"""
+ if sys.version_info.minor < 9:
+ os_version = platform.dist()[1]
+ else:
+ import distro
+ os_version = distro.version()
+ os_version = '.'.join(os_version.split('.')[:2])
try:
with open(path) as f:
data = dict(l.strip().split('=', 1) for l in f.readlines() if '=' in l)
+ release_id = data.get('ID', '').strip('"')
+ version_id = data.get('VERSION_ID', '').strip('"')
+ if release_id == 'centos' and '.' not in os_version:
+ os_version = "{}.999".format(version_id)
return OSRelease(
- release_id=data.get('ID', '').strip('"'),
+ release_id=release_id,
name=data.get('NAME', '').strip('"'),
pretty_name=data.get('PRETTY_NAME', '').strip('"'),
version=data.get('VERSION', '').strip('"'),
- version_id=data.get('VERSION_ID', '').strip('"'),
+ version_id=os_version,
variant=data.get('VARIANT', '').strip('"') or None,
variant_id=data.get('VARIANT_ID', '').strip('"') or None
)
diff --git a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py b/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py
index 32e4527b..1e595e9a 100644
--- a/repos/system_upgrade/common/actors/missinggpgkeysinhibitor/libraries/missinggpgkey.py

View File

@ -369,6 +369,20 @@ done;
%py_byte_compile %{__python3} %{buildroot}%{repositorydir}/*
%endif
# TODO: that's to awoid "Cannot find the product certificate file for the chosen target system" inhibitor.
# certificates should not be used if system with no RHSM or LEAPP_NO_RHSM=1 used
%if 0%{?next_major_ver} == 8
ln -s %{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/8.10 \
%{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/%{next_major_ver}
%else
%if 0%{?next_major_ver} == 9
ln -s %{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/9.5 \
%{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/%{next_major_ver}
%else
ln -s %{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/10.0 \
%{buildroot}%{repositorydir}/system_upgrade/common/files/prod-certs/%{next_major_ver}
%endif
%endif
%files -n %{lpr_name}
%doc README.md