Chapter 5. Upgrading the undercloud operating system
Before you upgrade director, you must upgrade the undercloud operating system from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8. As a part of this operating system upgrade, you must remove the Red Hat OpenStack Platform 13 packages and then run the Leapp utility to upgrade the system packages. This package removal and operating system upgrade does not affect the undercloud database. After you complete the operating system upgrade, reinstall the Red Hat OpenStack Platform 16.1 versions of the director packages.
5.1. Removing Red Hat OpenStack Platform director packages
Before you run the Leapp utility, remove the Red Hat OpenStack Platform 13 packages tied to Red Hat Enterprise Linux 7. These package names use a release suffix of
el7ost remain on the system as dependencies for
subscription-manager and the Leapp utility.
Log in to the undercloud as the
Disable the main OpenStack services on the undercloud:
$ sudo systemctl stop openstack-* httpd haproxy mariadb rabbitmq* docker xinetd
Remove the main OpenStack services from the undercloud, except OpenvSwitch and certain Python 2 packages that are required for the upgrade:
$ sudo yum -y remove *el7ost* galera* haproxy* \ httpd mysql* pacemaker* xinetd python-jsonpointer \ qemu-kvm-common-rhev qemu-img-rhev rabbit* \ redis* \ -- \ -*openvswitch* -python-docker -python-PyMySQL \ -python-pysocks -python2-asn1crypto -python2-babel \ -python2-cffi -python2-cryptography -python2-dateutil \ -python2-idna -python2-ipaddress -python2-jinja2 \ -python2-jsonpatch -python2-markupsafe -python2-pyOpenSSL \ -python2-requests -python2-six -python2-urllib3 \ -python-httplib2 -python-passlib -python2-netaddr -ceph-ansible
Remove the content from the
$ sudo rm -rf /etc/httpd /var/lib/docker
5.2. Performing a Leapp upgrade on the undercloud
Install and run the Leapp utility to upgrade the operating system to Red Hat Enterprise Linux 8.
Log in to the undercloud as the
Install the Leapp utility:
$ sudo yum install leapp
Download the additional required data files (RPM package changes and RPM repository mapping) attached to the Knowledge Base article "Data required by the Leapp utility for an in-place upgrade from RHEL 7 to RHEL 8" and place these files in the
Update your Red Hat subscription:
If your undercloud uses the Red Hat Customer Portal for registration, refresh your current subscription to obtain access to the Red Hat Enterprise Linux 8.2 content:
$ sudo subscription-manager refresh
If your undercloud uses a Red Hat Satellite server for registration, re-register the undercloud to a content view associated with your Red Hat OpenStack Platform 16.1 activation key.
$ sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY --release 8.2Note
The content view that you create for Red Hat OpenStack Platform 16.1 should contain content for Red Hat Enterprise Linux 8.2.
Red Hat OpenStack Platform 16.1 uses a newer version of Open vSwitch`. Substitute the Open vSwitch version through the
$ echo 'openvswitch2.11' | sudo tee -a /etc/leapp/transaction/to_remove $ echo 'openvswitch2.13' | sudo tee -a /etc/leapp/transaction/to_install
Retain the Red Hat Ceph Storage 3 version of
ceph-ansiblethrough the upgrade with the
$ echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
Start the Leapp upgrade process:
$ sudo leapp upgrade --debug --enablerepo rhel-8-for-x86_64-baseos-eus-rpms --enablerepo rhel-8-for-x86_64-appstream-eus-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms
--enablerepooption to set the repositories that you want to enable during the Leapp upgrade process. You must include these repositories to facilitate the Red Hat OpenStack Platform 16.1 transition, especially with the newer version of Open vSwitch.
Wait for the
leapp upgradecommand to successfully complete.
Create an empty
.autorelabelfile in your root directory:
$ sudo touch /.autorelabel
After a reboot, SELinux detects this file and automatically relabels the file system.
Reboot the undercloud:
$ sudo reboot