12.3. Performing the undercloud system upgrade
Upgrade your undercloud operating system to Red Hat Enterprise Linux (RHEL) 9.2. As part of this upgrade, you create a file named system_upgrade.yaml, which you use to enable the appropriate repositories and required Red Hat OpenStack Platform options and content to install Leapp. You use this file to also upgrade your control plane nodes and Compute nodes.
For information about the duration and impact of this upgrade procedure, see Upgrade duration and impact.
Procedure
-
Log in to the undercloud as the
stackuser. Create a file named
system_upgrade.yamlin your templates directory and include the following content:parameter_defaults: UpgradeLeappDevelSkip: "LEAPP_UNSUPPORTED=1 LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE=1 LEAPP_NO_NETWORK_RENAMING=1 LEAPP_DEVEL_TARGET_RELEASE=9.2 LEAPP_TARGET_PRODUCT_CHANNEL=e4s" UpgradeLeappDebug: false UpgradeLeappEnabled: true LeappActorsToRemove: ['checkifcfg','persistentnetnamesdisable','checkinstalledkernels','biosdevname'] LeappRepoInitCommand: | subscription-manager repos --disable=* subscription-manager repos --enable rhel-8-for-x86_64-baseos-aus-rpms --enable rhel-8-for-x86_64-appstream-aus-rpms --enable openstack-17.1-for-rhel-8-x86_64-rpms subscription-manager release --set=8.4 UpgradeLeappCommandOptions: "--enablerepo=rhel-9-for-x86_64-baseos-e4s-rpms --enablerepo=rhel-9-for-x86_64-appstream-e4s-rpms --enablerepo=rhel-9-for-x86_64-highavailability-e4s-rpms --enablerepo=openstack-17.1-for-rhel-9-x86_64-rpms --enablerepo=fast-datapath-for-rhel-9-x86_64-rpms"참고If your deployment includes Red Hat Ceph Storage nodes, you must add the
CephLeappRepoInitCommandparameter and specify the source OS version of your Red Hat Ceph Storage nodes. For example:CephLeappRepoInitCommand: ... subscription-manager release --set=8.6Add the
LeappInitCommandparameter to yoursystem_upgrade.yamlfile to specify additional requirements applicable to your environment, for example, if you need to define role-based overrides:LeappInitCommand: | subscription-manager repos --disable=* subscription-manager release --unset subscription-manager repos --enable=rhel-9-for-x86_64-baseos-e4s-rpms --enable=rhel-9-for-x86_64-appstream-e4s-rpms --enable=rhel-9-for-x86_64-highavailability-e4s-rpms --enable=openstack-17.1-for-rhel-9-x86_64-rpms --enable=fast-datapath-for-rhel-9-x86_64-rpms leapp answer --add --section check_vdo.confirm=True dnf -y remove ruby-irb중요Removing the
ruby-irbpackage is mandatory to avoid a conflict between the RHEL 8 ruby-irb directory and the RHEL 9 symlink. For more information, see the Red Hat Knowledgebase solution leapp upgrade RHEL8 to RHEL9 fails with error "rubygem-irb-1.3.5-160.el9_0.noarch conflicts with file from package ruby-irb-2.5.9-110.module+el8.6.0+15956+aa803fc1.noarch".참고If your environment previously ran RHOSP 13.0 or earlier, during the system upgrade, a known issue causes GRUB to contain RHEL 7 entries instead of RHEL 8 entries. For more information, including a workaround, see the Red Hat Knowledgebase solution Openstack 16 to 17 FFU - During LEAPP upgrade UEFI systems do not boot due to invalid /boot/grub2/grub.cfg.
If you are upgrading Red Hat Ceph Storage nodes that originated in RHOSP 16.1 and earlier, add the
CephStorageLeappInitCommandparameter to remove fencing agents:LeappInitCommand: | ... dnf -y remove ruby-irb CephStorageLeappInitCommand: | ... dnf -y remove ruby-irb fence-agents-commonIf you use kernel-based NIC names, add the following parameter to the
system_upgrade.yamlfile to ensure that the NIC names persist throughout the upgrade process:parameter_defaults: NICsPrefixesToUdev: ['en'] ...Run the Leapp upgrade:
$ openstack undercloud upgrade --yes --system-upgrade \ /home/stack/system_upgrade.yaml참고If you need to run the Leapp upgrade again, you must first reset the repositories to RHEL 8.
Reboot the undercloud:
$ sudo reboot