Leapp repositories containing actors for the Leapp framework (https://github.com/oamg/leapp). Currently provides leapp repositories for in-place upgrades of RHEL systems.
Apache License 2.0
48
stars
144
forks
source link
check_rhui: allow minor versions in the RHUI table #1240
check_rhui: allow minor versions in the RHUI table
With RHEL8.10, different target RHUI clients have to be installed,
depending on the target minor version. The RHUI_SETUPS structure
used for navigating upgrades on RHUI and associated infrastructure
did not allow to setups based on their minor version. RHUI_SETUPS
is used to both determine what RHUI variant are we running on and what
is the target setup. Therefore, any solution would have to:
ensure that when we are on RHEL8.10, we will look for correct client
(this point is fairly easy, and it would be sufficient to just declare
another setup description in RHUI_SETUPS)
determine what target client to install depending on whether we are
targetting RHEL8.10 or, e.g., RHEL8.8
Introducing another setup to the map causes multiple target variants
to be eligible, and, thus, leapp would error due to not being able to
pick the target setup. Therefore, a solution has to include such
conflict resolution based on target minor version.
Given the above description of the solution space, this patch allows
specifying minor versions in the RHUI_SETUPS table used to resolve
conflicts when multiple target setups matching the major version are
eligable. Identification of the source and corresponding target RHUI
variant works by using the entry with the closest (younger) minor
version. For example, when 8.4 and 8.8 are suitable target setups (based
on the installed clients), 8.4 will be used when the upgrade taget is
8.6. The minor versions in the RHUI_SETUPS table, therefore, are
in a sense a "changelog" of leapp's RHUI knowledge. If the table
contains an entry A with version 8.0, and an entry B with version
8.8, this can be understood as:
Since 8.0, we know that the setups use this client and we need to do
these things to access target content. Since 8.8 onwards, we know
that we need to use a different client etc.
check_rhui: allow minor versions in the RHUI table
With RHEL8.10, different target RHUI clients have to be installed, depending on the target minor version. The RHUI_SETUPS structure used for navigating upgrades on RHUI and associated infrastructure did not allow to setups based on their minor version. RHUI_SETUPS is used to both determine what RHUI variant are we running on and what is the target setup. Therefore, any solution would have to:
Given the above description of the solution space, this patch allows specifying minor versions in the RHUI_SETUPS table used to resolve conflicts when multiple target setups matching the major version are eligable. Identification of the source and corresponding target RHUI variant works by using the entry with the closest (younger) minor version. For example, when 8.4 and 8.8 are suitable target setups (based on the installed clients), 8.4 will be used when the upgrade taget is 8.6. The minor versions in the RHUI_SETUPS table, therefore, are in a sense a "changelog" of leapp's RHUI knowledge. If the table contains an entry A with version 8.0, and an entry B with version 8.8, this can be understood as: Since 8.0, we know that the setups use this client and we need to do these things to access target content. Since 8.8 onwards, we know that we need to use a different client etc.