oamg / leapp-repository

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

Closed MichalHe closed 2 months ago

MichalHe commented 3 months ago

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.

MichalHe commented 2 months ago

/packit build