From dafa6172d046dead08a497bd84283edf6206518f Mon Sep 17 00:00:00 2001 From: Petr Stodulka Date: Tue, 23 Jan 2024 10:37:56 +0100 Subject: [PATCH 72/92] IPU 9 -> 10: Initial preparation: upgrade paths and leapp packages def Introducing initial changes needed for IPU 9 -> 10 to prevent abouvious crashes and inhibitors: * Extend the list of supported source versions for the upgrade by el9 * Define upgrade paths for IPU 9 -> 10 * Add Python path for el 10 (py 3.12) * Introducing el9toel10 repository created .gitkeep files inside empty dirs NOTE: Enable upgrade from RHEL 9.4 & 9.5 to RHEL 10.0 for now. For the experiment purposes. These will not be supported for the upgrade at all, but to make testing and experimentations easier, allow it for now. TODO: * add RHEL 10 product certificates * add RHEL 10 GPG keys --- repos/system_upgrade/common/files/upgrade_paths.json | 8 ++++++-- .../common/libraries/config/version.py | 3 +++ repos/system_upgrade/common/libraries/dnfplugin.py | 1 + repos/system_upgrade/common/libraries/rpms.py | 12 +++++++++--- repos/system_upgrade/el9toel10/.leapp/info | 1 + repos/system_upgrade/el9toel10/.leapp/leapp.conf | 6 ++++++ repos/system_upgrade/el9toel10/actors/.gitkeep | 0 .../el9toel10/files/bundled-rpms/.gitkeep | 0 repos/system_upgrade/el9toel10/libraries/.gitkeep | 0 repos/system_upgrade/el9toel10/models/.gitkeep | 0 repos/system_upgrade/el9toel10/tools/.gitkeep | 0 11 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 repos/system_upgrade/el9toel10/.leapp/info create mode 100644 repos/system_upgrade/el9toel10/.leapp/leapp.conf create mode 100644 repos/system_upgrade/el9toel10/actors/.gitkeep create mode 100644 repos/system_upgrade/el9toel10/files/bundled-rpms/.gitkeep create mode 100644 repos/system_upgrade/el9toel10/libraries/.gitkeep create mode 100644 repos/system_upgrade/el9toel10/models/.gitkeep create mode 100644 repos/system_upgrade/el9toel10/tools/.gitkeep diff --git a/repos/system_upgrade/common/files/upgrade_paths.json b/repos/system_upgrade/common/files/upgrade_paths.json index 43bd049a..5399f148 100644 --- a/repos/system_upgrade/common/files/upgrade_paths.json +++ b/repos/system_upgrade/common/files/upgrade_paths.json @@ -3,14 +3,18 @@ "7.9": ["8.8", "8.10"], "8.8": ["9.2"], "8.10": ["9.4", "9.5"], + "9.6": ["10.0"], "7": ["8.8", "8.10"], - "8": ["9.2", "9.4", "9.5"] + "8": ["9.2", "9.4", "9.5"], + "9": ["10.0"] }, "saphana": { "7.9": ["8.10", "8.8"], "7": ["8.10", "8.8"], "8.8": ["9.2"], "8.10": ["9.4"], - "8": ["9.4", "9.2"] + "8": ["9.4", "9.2"], + "9.6": ["10.0"], + "9": ["10.0"] } } diff --git a/repos/system_upgrade/common/libraries/config/version.py b/repos/system_upgrade/common/libraries/config/version.py index fdfeface..152d9112 100644 --- a/repos/system_upgrade/common/libraries/config/version.py +++ b/repos/system_upgrade/common/libraries/config/version.py @@ -13,10 +13,13 @@ OP_MAP = { '<=': operator.le } +# TODO(pstodulk): drop 9.4 & 9.5 before May 2025 release +# These will not be supported fo IPU 9 -> 10 _SUPPORTED_VERSIONS = { # Note: 'rhel-alt' is detected when on 'rhel' with kernel 4.x '7': {'rhel': ['7.9'], 'rhel-alt': [], 'rhel-saphana': ['7.9']}, '8': {'rhel': ['8.8', '8.10'], 'rhel-saphana': ['8.8', '8.10']}, + '9': {'rhel': ['9.4', '9.5', '9.6'], 'rhel-saphana': ['9.4', '9.6']}, } diff --git a/repos/system_upgrade/common/libraries/dnfplugin.py b/repos/system_upgrade/common/libraries/dnfplugin.py index 6f056a33..d09cb90a 100644 --- a/repos/system_upgrade/common/libraries/dnfplugin.py +++ b/repos/system_upgrade/common/libraries/dnfplugin.py @@ -21,6 +21,7 @@ class _DnfPluginPathStr(str): _PATHS = { "8": os.path.join('/lib/python3.6/site-packages/dnf-plugins', DNF_PLUGIN_NAME), "9": os.path.join('/lib/python3.9/site-packages/dnf-plugins', DNF_PLUGIN_NAME), + "10": os.path.join('/lib/python3.12/site-packages/dnf-plugins', DNF_PLUGIN_NAME), } def __init__(self): # noqa: W0231; pylint: disable=super-init-not-called diff --git a/repos/system_upgrade/common/libraries/rpms.py b/repos/system_upgrade/common/libraries/rpms.py index 2890240f..dde4d2b6 100644 --- a/repos/system_upgrade/common/libraries/rpms.py +++ b/repos/system_upgrade/common/libraries/rpms.py @@ -22,18 +22,24 @@ _LEAPP_PACKAGES_MAP = { LeappComponents.FRAMEWORK: {'7': {'pkgs': ['leapp', 'python2-leapp'], 'deps': ['leapp-deps']}, '8': {'pkgs': ['leapp', 'python3-leapp'], + 'deps': ['leapp-deps']}, + '9': {'pkgs': ['leapp', 'python3-leapp'], 'deps': ['leapp-deps']} }, LeappComponents.REPOSITORY: {'7': {'pkgs': ['leapp-upgrade-el7toel8'], 'deps': ['leapp-upgrade-el7toel8-deps']}, '8': {'pkgs': ['leapp-upgrade-el8toel9'], - 'deps': ['leapp-upgrade-el8toel9-deps']} + 'deps': ['leapp-upgrade-el8toel9-deps']}, + '9': {'pkgs': ['leapp-upgrade-el9toel10'], + 'deps': ['leapp-upgrade-el9toel10-deps']} }, LeappComponents.COCKPIT: {'7': {'pkgs': ['cockpit-leapp']}, - '8': {'pkgs': ['cockpit-leapp']} + '8': {'pkgs': ['cockpit-leapp']}, + '9': {'pkgs': ['cockpit-leapp']}, }, LeappComponents.TOOLS: {'7': {'pkgs': ['snactor']}, - '8': {'pkgs': ['snactor']} + '8': {'pkgs': ['snactor']}, + '9': {'pkgs': ['snactor']} } } diff --git a/repos/system_upgrade/el9toel10/.leapp/info b/repos/system_upgrade/el9toel10/.leapp/info new file mode 100644 index 00000000..500087a8 --- /dev/null +++ b/repos/system_upgrade/el9toel10/.leapp/info @@ -0,0 +1 @@ +{"name": "system_upgrade_el9toel10", "id": "ba7ab214-d579-4e70-811e-7c30966d8d28", "messages": {}, "repos": ["efcf9016-f2d1-4609-9329-a298e6587b3c", "644900a5-c347-43a3-bfab-f448f46d9647"]} diff --git a/repos/system_upgrade/el9toel10/.leapp/leapp.conf b/repos/system_upgrade/el9toel10/.leapp/leapp.conf new file mode 100644 index 00000000..b4591347 --- /dev/null +++ b/repos/system_upgrade/el9toel10/.leapp/leapp.conf @@ -0,0 +1,6 @@ + +[repositories] +repo_path=${repository:root_dir} + +[database] +path=${repository:state_dir}/leapp.db diff --git a/repos/system_upgrade/el9toel10/actors/.gitkeep b/repos/system_upgrade/el9toel10/actors/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el9toel10/files/bundled-rpms/.gitkeep b/repos/system_upgrade/el9toel10/files/bundled-rpms/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el9toel10/libraries/.gitkeep b/repos/system_upgrade/el9toel10/libraries/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el9toel10/models/.gitkeep b/repos/system_upgrade/el9toel10/models/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/repos/system_upgrade/el9toel10/tools/.gitkeep b/repos/system_upgrade/el9toel10/tools/.gitkeep new file mode 100644 index 00000000..e69de29b -- 2.42.0