Skip to content

Conversation

@yuravk
Copy link
Collaborator

@yuravk yuravk commented May 20, 2025

No description provided.

joeashcraft and others added 30 commits May 5, 2025 11:13
resolves oamg#1354

(cherry picked from commit 1be52a6)
Introduce a new CLI option --enable-experimental-feature that allows
users to enable entire features that might be facilitated by a large
number of experimental actors. Previously, the used had to
remember/figure out the names of all of these actors and list them
manually using `--whitelist-experimental`. Using
`--enable-experimental-feature` therefore lifts this burden from the
user, and the user simply needs to know what experimental feature to
enable. The help for the new options includes a list of all supported
experimental feature - at the moment, the list contains only 'livemode'.

Jira-ref: RHELMISC-10648
(cherry picked from commit 9ea195e)
Exclude /var/cache/dnf from the generated squashfs image. The DNF
cache is not needed for the live system that we boot into, since leapp
will always use DNF cache stored within target userspace container
(/sysroot/var/lib/leapp/...). Therefore, this optimization saves
a lot of disk space for the user (2GB->700mb).

(cherry picked from commit 11b9733)
Add definitions of all config classes that describe configuration of the
livemode feature using the configurability provided by the leapp
framework. The list of configuration options remains unchanged (except
for the `is_enabled` field that is removed) when compared to the
current implementation that relies on an ad-hoc INI file. The next step
is to drop the INI-based implementation in favour of using
framework-based configs relying on the field definitions from this PR.

Jira-ref: RHELMISC-10648
(cherry picked from commit 36d245e)
Drop the ad-hoc INI-based config for livemode in favour and replace it
with configuration facilitated by the leapp framework. The list of
configuration options remains (and their semantics) remains almost
unchanged, save for some field names that are renamed in a way that
better reveals their effect to the user.

Jira-ref: RHELMISC-10648
(cherry picked from commit 849a8f2)
Some of the systemd units might be already enabled in the target
userspace container, causing an unhandled FileAlreadyExists error
when we attempt to enable them. This commit ignores such errors, working
on under the assumption that the services we wanted to enable are
already enabled. Hence, we ignore the possibility that the file which
unexpectedly resides at the destination of the symlink which enables the
service might contain some unexpected/incorrect content.

(cherry picked from commit 96c9114)
The environmental variable has been introduced to prevent accidental
execution of livemode. However, in order for users to use the feature,
this environmental variable introduced unnecessary friction. Therefore,
this patch removes the use of the variable. Instead, whitelisting
experimental actors that facilitate livemode should be the only
mechanism that is used to enabled/disable the feature.

Jira-ref: RHELMISC-10648
(cherry picked from commit 6b3f656)
Bump framework version as we want to use default=[] for the newly
introduced `--enable-experimental-features` switch.

Jira-ref: RHELMISC-10648
(cherry picked from commit 021f083)
With the upcoming introduction of documentation of the LiveMode feature,
a question arises where to put the documentation. This patch introduces
a new subsection 'Experimental features' under the 'Configuring IPU'
section, so we have one place to where to put such features.

(cherry picked from commit 51b2677)
This commit introduces a high-level documentation of the livemode
feature. The following is documented:
 - how the upgrade process differs from the standard one when using
   livemode
 - why is the feature useful, i.e., why would anyone use it
 - how to enable and use the feature
 - what configuration options are available, including an example of
   configuration

Jira-ref: RHELMISC-9703
(cherry picked from commit af35d1f)
The file has bas been created before we introduced the section of
"Configuring in-place upgrade" and it contained mixture of various
stuff. We have the section now, so let's rename this file to envars
and keep here documented environments variables only.

Dropping information from this file about actors' configurations.
This needs to be anyway documented separately now and original
information has not been so helpful.

(cherry picked from commit c3ec002)
Leapp swaps to RHUI target clients (uninstall source client+install
target client) in the scratch container to gain repository access.
To perform this step atomically, without loosing repository access
in between, `dnf shell` is invoked. The instruction as to which RPMs
should be uninstalled and which should be installed are given on
stdin of the `dnf shell` command. Currently, if we fail to swap clients
we crash with an unhandled exception `CalledProcessError` that contains
no information about what went wrong since the actual performed
transaction is hidden within the stdin of the process. This patch
adds error handling, so that we can tell that we have failed to swap
RHUI clients. Leapp's logs also contain the full DNF transaction as well
as possible explanations on why we failed.

jira-ref: RHEL-77945
(cherry picked from commit 53f125b)
Fixes:
2025-03-04 11:21:31.550 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: External command has finished: ['semodule', '-lfull']
2025-03-04 11:21:31.551 INFO     PID: 679 leapp.workflow.Applications.selinuxapplycustom: Processing custom SELinux policy modules. Count: 1.
2025-03-04 11:21:31.551 INFO     PID: 679 leapp.workflow.Applications.selinuxapplycustom: Skipping module permissive_rhcd_t on priority 400 because it is already installed.
2025-03-04 11:21:31.551 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: External command has started: ['semodule']
2025-03-04 11:21:31.555 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: At least one mode must be specified.
2025-03-04 11:21:31.555 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: usage:  semodule [option]... MODE...
2025-03-04 11:21:31.555 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: Manage SELinux policy modules.
2025-03-04 11:21:31.556 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom: MODES:
2025-03-04 11:21:31.556 DEBUG    PID: 679 leapp.workflow.Applications.selinuxapplycustom:   -R, --reload                    reload policy
...
2025-03-04 11:21:31.564 WARNING  PID: 679 leapp.workflow.Applications.selinuxapplycustom: Error installing modules in a single transaction:At least one mode must be specified.

(cherry picked from commit 474b26c)
At the moment, information about supported upgrade paths is provided via
a deprecated IPUPaths message. The current solution is temporary.
This patch introduces new field in IPUConfig called
'supported_upgrade_paths' that contains a "compressed", pre-filtered,
list of upgrade paths. The decision to introduce this new field is
because we want to refactor the config.version library to not contain
its own supported upgrade paths definitions. Instead, we want to have the
information represented only once. Therefore, in order to refactor
config.version to use the information received by a message, we need
the new field on IPUConfig as we cannot force already-written actors
using config.version to add some message to their 'consumes' list.

Jira-ref: RHEL-80550
(cherry picked from commit 57dce77)
This patch tweaks upgrade_paths.json and the code reading it to contain
information about what for what distro are the upgrade paths defined.
This allows the upgrade tooling to possibly support also other distros,
such as CentOS Stream. However, this patch is only a small step towards
such a goal and further work is needed to support these systems.

Jira-ref: RHEL-80550
(cherry picked from commit 6bfb0ae)
Drop the already deprecated IPUPaths message that was used to inform
actors about supported upgrade paths. Instead, the functionality has
been assumed by IPUConfig.

Jira-ref: RHEL-80550
(cherry picked from commit 4432e62)
Refactor the config.version library to use actor.configuration to obtain
the list of supported upgrade paths instead of having its own (duplicit)
definitions.

Mark leapp.libraries.common.config.version.SUPPORTED_VERSIONS as
deprecated and update the documentation.

Jira-ref: RHEL-80550
(cherry picked from commit 09ef3de)
Removing 7to8 CI tests because the upgrade path from RHEL-7 to RHEL-8 is no longer supported.

Jira: RHELMISC-11004
(cherry picked from commit e330fef)
isort is failing when getting empty list of arguments, what takes
place when only doc files was modified in a commit. This fix handles
that issue.

JIRA: RHELMISC-11679
(cherry picked from commit 9dd50a2)
* Insert target RHEL version in report KCS titles for removed kernel drivers.

Jira: RHEL-49402
(cherry picked from commit 47f3731)
* Remove KCS from summary since it is present in the related links.
* Generalize KCS title when using Kernel-Assigned NIC Names.
* Show KCS about unsupported network configuration device types only when IPU 8 -> 9.
* Adjust unit tests to reflect this change.

Jira: RHEL-77175
(cherry picked from commit daaf3ce)
The LEAPP_OVL_IMG_FS_EXT4 has not been documented and it can be
quite useful on some systems.

(cherry picked from commit d3793ab)
- change it for almalinux and centos
- add new for rocky and scientific
New data covers number of changes that happened in recent months in RHEL systems. Especially in relation to RHEL 9 and RHEL 10. DDDD fixes several issues around intel CPUs. Repomap data are updated mainly to cover better IPU 9 -> 10.

======== repomap diff ============
The following repos have been added:
     - Repo(pesid='rhel9-RT', major_version='9', repoid='rhel-9-for-aarch64-rt-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-x86_64-highavailability-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel7-rt', major_version='7', repoid='rhel-7-server-rt-els-rpms', repo_type='rpm', channel='els', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-rhui-rpms', repo_type='rpm', channel='ga', arch='x86_64', rhui='aws')
     - Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-x86_64-rt-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-aarch64-rt-beta-rpms', repo_type='rpm', channel='beta', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-x86_64-sap-netweaver-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-SAP-Solutions', major_version='10', repoid='rhel-10-for-x86_64-sap-solutions-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-s390x-highavailability-e4s-rpms', repo_type='rpm', channel='e4s', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-Supplementary', major_version='10', repoid='rhel-10-for-x86_64-supplementary-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel7-optional', major_version='7', repoid='rhel-7-for-power-le-els-optional-rpms', repo_type='rpm', channel='els', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-ppc64le-highavailability-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-NFV', major_version='10', repoid='rhel-10-for-aarch64-nfv-beta-rpms', repo_type='rpm', channel='beta', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-ppc64le-appstream-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-x86_64-sap-netweaver-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-s390x-highavailability-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-s390x-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-ppc64le-baseos-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-baseos-rhui-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui='aws')
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-ppc64le-baseos-e4s-rpms', repo_type='rpm', channel='e4s', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-aarch64-rt-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-x86_64-appstream-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-s390x-appstream-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel9-RT', major_version='9', repoid='rhel-9-for-aarch64-rt-e4s-rpms', repo_type='rpm', channel='e4s', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-ppc64le-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-x86_64-baseos-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-ppc64le-sap-netweaver-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-ppc64le-highavailability-e4s-rpms', repo_type='rpm', channel='e4s', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-x86_64-highavailability-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-Supplementary', major_version='10', repoid='rhel-10-supplementary-rhui-rpms', repo_type='rpm', channel='ga', arch='x86_64', rhui='aws')
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-aarch64-highavailability-e4s-rpms', repo_type='rpm', channel='e4s', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-s390x-baseos-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-ppc64le-sap-netweaver-e4s-rpms', repo_type='rpm', channel='e4s', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-x86_64-appstream-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-baseos-rhui-rpms', repo_type='rpm', channel='ga', arch='x86_64', rhui='aws')
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-aarch64-appstream-e4s-rpms', repo_type='rpm', channel='e4s', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-aarch64-appstream-eus-rpms', repo_type='rpm', channel='eus', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-HighAvailability', major_version='10', repoid='rhel-10-for-aarch64-highavailability-eus-rpms', repo_type='rpm', channel='eus', arch='aarch64', rhui=None)
     - Repo(pesid='rhel7-base', major_version='7', repoid='rhel-7-for-power-le-els-rpms', repo_type='rpm', channel='els', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-Supplementary', major_version='10', repoid='rhel-10-for-aarch64-supplementary-eus-rpms', repo_type='rpm', channel='eus', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-NFV', major_version='10', repoid='rhel-10-for-x86_64-nfv-e4s-rpms', repo_type='rpm', channel='e4s', arch='x86_64', rhui=None)
     - Repo(pesid='rhel7-sap-hana', major_version='7', repoid='rhel-sap-hana-for-rhel-7-for-power-le-els-rpms', repo_type='rpm', channel='els', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-appstream-rhui-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui='aws')
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-aarch64-baseos-e4s-rpms', repo_type='rpm', channel='e4s', arch='aarch64', rhui=None)
     - Repo(pesid='rhel7-sap', major_version='7', repoid='rhel-sap-for-rhel-7-for-power-le-els-rpms', repo_type='rpm', channel='els', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel9-NFV', major_version='9', repoid='rhel-9-for-aarch64-nfv-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-aarch64-baseos-eus-rpms', repo_type='rpm', channel='eus', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-s390x-appstream-e4s-rpms', repo_type='rpm', channel='e4s', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-NFV', major_version='10', repoid='rhel-10-for-aarch64-nfv-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-s390x-sap-netweaver-e4s-rpms', repo_type='rpm', channel='e4s', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-RT', major_version='10', repoid='rhel-10-for-aarch64-rt-e4s-rpms', repo_type='rpm', channel='e4s', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-Supplementary', major_version='10', repoid='rhel-10-for-s390x-supplementary-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-Supplementary', major_version='10', repoid='rhel-10-for-ppc64le-supplementary-eus-rpms', repo_type='rpm', channel='eus', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel9-NFV', major_version='9', repoid='rhel-9-for-aarch64-nfv-beta-rpms', repo_type='rpm', channel='beta', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-appstream-rhui-rpms', repo_type='rpm', channel='ga', arch='x86_64', rhui='aws')
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-rhui-rpms', repo_type='rpm', channel='ga', arch='aarch64', rhui='aws')
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-x86_64-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-x86_64-baseos-eus-rpms', repo_type='rpm', channel='eus', arch='x86_64', rhui=None)
     - Repo(pesid='rhel10-BaseOS', major_version='10', repoid='rhel-10-for-s390x-baseos-e4s-rpms', repo_type='rpm', channel='e4s', arch='s390x', rhui=None)
     - Repo(pesid='rhel9-RT', major_version='9', repoid='rhel-9-for-aarch64-rt-beta-rpms', repo_type='rpm', channel='beta', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-CRB', major_version='10', repoid='codeready-builder-for-rhel-10-aarch64-eus-rpms', repo_type='rpm', channel='eus', arch='aarch64', rhui=None)
     - Repo(pesid='rhel10-AppStream', major_version='10', repoid='rhel-10-for-ppc64le-appstream-e4s-rpms', repo_type='rpm', channel='e4s', arch='ppc64le', rhui=None)
     - Repo(pesid='rhel10-SAP-NetWeaver', major_version='10', repoid='rhel-10-for-s390x-sap-netweaver-eus-rpms', repo_type='rpm', channel='eus', arch='s390x', rhui=None)
     - Repo(pesid='rhel10-SAP-Solutions', major_version='10', repoid='rhel-10-for-ppc64le-sap-solutions-e4s-rpms', repo_type='rpm', channel='e4s', arch='ppc64le', rhui=None)

(cherry picked from commit 5b5ca58)
HW data file is inconsistent and sometimes contains both upper/lower
cases so this patch is unifying it. Also PCI ID can be passed as full
ID: Vendor:Device:SVendor:SDevice, but also in shorten version:
Vendor:Device. This patch introduce handling of both cases.

The data comming from DDDD file was sanitised.

JIRA: RHEL-72544
(cherry picked from commit 9c621a9)
Some PCI devices got from lspci output do not have to neccessarily
provide SVendor and SDevice fields. PCI ID of such devices is
composed in the pci_device_scanner actor just from:
    Vendor:Device
instead of the full id:
    Vendor:Device:SVendor:SDevice

The recent change comparing such devices with bundled DDDD
data drops last two fragments from the composed PCI ID,
which led to the situation when the `shortened_pci_id`
resulted in an empty string and it has been incorrectly
matched with one of (consider random) drivers and possibly
inhibited the in-place upgrade.

So let's ensure that we do not match any PCI device with
any entry from DDDD undefined PCI ID.

JIRA: RHEL-72544
(cherry picked from commit d7d37ca)
CentOS versioning consists only of the major version number. Therefore,
in case we are running on CentOS, we do not want to enforce version to
have the format MAJOR.MINOR. Rather, we want to check that the version
is of the form MAJOR. This patch introduces the necessary
infrastructure, allowing easy extensibility of version format checking
for also other distributions. In case we do not know what version
format should a distro use, we default to MINOR.MAJOR.

Jira-ref: RHEL-80334
(cherry picked from commit 097981d)
Rename the function _simple_versions to _are_comparison_operators_used
with **negated semantics**. The new name should make it clear what is
being checked in the version list.

(cherry picked from commit d450430)
The validate version used to split a given version on `.` and then
check that every fragment is a digit, which is false for RHEL 10
since `10` is not a digit.

(cherry picked from commit 7055786)
Michal Hecko and others added 9 commits May 14, 2025 12:21
Add additional field to upgrade paths for CentOS that maps CentOS
versions consisting only of a major version number to corresponding
RHEL versions of the form MAJOR.MINOR ("virtual version"). This
information is inteded to be used by leapp to in version checks
to obtain a MAJOR.MINOR version so that code written for RHEL can work
as expected also on CentOS.

Jira-ref: RHEL-80334
(cherry picked from commit a633641)
Add virtual_{source,target}_version fields to the Version model. These
fields store a virtual MAJOR.MINOR CentOS version so that
version-specific checks originally written for RHEL can work as expected
also on CentOS. On non-CentOS system, the value of these fields should
be the same as source/target versions. The ipuworkflowconfig actor is
modified accordingly to populate the newly added fields.

Jira-ref: RHEL-80334
(cherry picked from commit 5f56940)
When executing version.matches_version on CentOS, autocorrect versions
of the form MAJOR into MAJOR.MINOR using virtual versions available in
IPU configuration. Autocorrection is implemented only if a used version
matches source/target version. For example, if match_list contains '8'
on a CentOS 8 system, the version will be autocorrected to '8.10'.
However, if a version that does not match the source/target version is
present, it will be left untouched.

Jira-ref: RHEL-80334
(cherry picked from commit 9a48ac5)
The original trusted rpm-gpg directories under
    files/rpm-gpg/
is not flexible when considering other distributions as well.
The new path pattern will be:
    files/distro/<DISTRO>/rpm-gpg/

Removing files/rpm-gpg directory with the included RHEL GPG keys
in favor of the new distro based directory.

jira: RHEL-80335

Signed-off-by: Petr Stodulka <pstodulk@redhat.com>
(cherry picked from commit c82153f)
These keys are obtained from centos-gpg-keys packages on 7th May

jira: RHEL-80335

Signed-off-by: Petr Stodulka <pstodulk@redhat.com>
(cherry picked from commit cacee2e)
The function has no value anymore as RHEL-ALT 7 is EOL for years
and RHEL 7 is not longer maintained in this project neither.
I have considered the direct removal as this function is really
old (it's not even used anywhere in the project anymore).

But as it is just one small function without additional impact
and another rhel-alt artifacts became deprecated this month,
I consider it better to fulfill our promise and add it on the
deprecation list for 6months instead.

Signed-off-by: Petr Stodulka <pstodulk@redhat.com>
(cherry picked from commit fe6d00b)
Just regular update of PES data files to cover latest changes, mostly for IPU 9 -> 10

(cherry picked from commit ffd6d8e)
 - add 'default' and '_virtual_versions' for CentOS 7
 - AlmaLinux and Rocky: remove MAJOR only versions, add 8.10 to 9.6
@github-actions
Copy link

Thank you for contributing to the Leapp project!

Please note that every PR needs to comply with the Leapp Guidelines and must pass all tests in order to be mergeable.
If you want to request a review or rebuild a package in copr, you can use following commands as a comment:

  • review please @oamg/developers to notify leapp developers of the review request
  • /packit copr-build to submit a public copr build using packit

Packit will automatically schedule regression tests for this PR's build and latest upstream leapp build.
However, here are additional useful commands for packit:

  • /packit test to re-run manually the default tests
  • /packit retest-failed to re-run failed tests manually
  • /packit test oamg/leapp#42 to run tests with leapp builds for the leapp PR#42 (default is latest upstream - main - build)

Note that first time contributors cannot run tests automatically - they need to be started by a reviewer.

It is possible to schedule specific on-demand tests as well. Currently 2 test sets are supported, beaker-minimal and kernel-rt, both can be used to be run on all upgrade paths or just a couple of specific ones.
To launch on-demand tests with packit:

  • /packit test --labels kernel-rt to schedule kernel-rt tests set for all upgrade paths
  • /packit test --labels beaker-minimal-8.10to9.4,kernel-rt-8.10to9.4 to schedule kernel-rt and beaker-minimal test sets for 8.10->9.4 upgrade path

See other labels for particular jobs defined in the .packit.yaml file.

Please open ticket in case you experience technical problem with the CI. (RH internal only)

Note: In case there are problems with tests not being triggered automatically on new PR/commit or pending for a long time, please contact leapp-infra.

@yuravk yuravk requested a review from andrewlukoshko May 20, 2025 11:50
@andrewlukoshko andrewlukoshko merged commit 0fed969 into AlmaLinux:almalinux-ng-0.22.0 May 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants