Chapter 8. Configuring the overcloud for a Leapp upgrade The long-life Red Hat OpenStack Platform (RHOSP) upgrade requires a base operating system upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8. Red Hat Enterprise Linux 7 uses the Leapp utility to perform the upgrade to Red Hat Enterprise Linux 8. For more information about Leapp and its dependencies, see Preparing a RHEL 7 system for the upgrade . The overcloud upgrade framework automatically runs the leapp upgrade. To ensure a successful RHOSP upgrade, it is recommended that you manually run a pre-upgrade report to identify and resolve any potential problems. Run pre-upgrade reports for at least one host of each of the Compute, Controller, and Ceph Storage roles. For more information about Leapp pre-upgrade reports, see Reviewing the pre-upgrade report . 8.1. Creating an upgrades environment file The upgrade process uses an environment file to enable the upgrade process and configure specific upgrade parameters. Procedure Log in to the undercloud as the stack user. Create an environment file called upgrades-environment.yaml in your templates directory: Edit the file and add the following mandatory content: parameter_defaults: UpgradeLeappCommandOptions: " --enablerepo rhel-8-for-x86_64-baseos-eus-rpms --enablerepo rhel-8-for-x86_64-appstream-eus-rpms --enablerepo rhel-8-for-x86_64-highavailability-eus-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms " For more information about the upgrade parameters that you can configure in the environment file, see Upgrade parameters . Save the upgrades-environment.yaml file. 8.2. Upgrade parameters You can modify the behavior of the upgrade process with upgrade parameters. Parameter Description UpgradeInitCommand Command or script snippet to run on all overcloud nodes to initialize the upgrade process. For example, a repository switch. UpgradeInitCommonCommand Common commands required by the upgrades process. This should not normally be modified by the operator and is set and unset in the major-upgrade-composable-steps.yaml and major-upgrade-converge.yaml environment files. UpgradeLeappCommandOptions Additional command line options to append to the Leapp command. UpgradeLeappDebug Print debugging output when running Leapp. The default value is True . UpgradeLeappDevelSkip Skip Leapp checks by setting env variables when running Leapp in development/testing. For example, LEAPP_DEVEL_SKIP_RHSM=1. UpgradeLeappEnabled Use Leapp for operating system upgrade. The default value is False . UpgradeLeappPostRebootDelay Maximum (seconds) to wait for machine to reboot and respond to a test command. The default value is 120 . UpgradeLeappRebootTimeout Timeout (seconds) for the OS upgrade phase via Leapp. The default value is 3600 . UpgradeLeappToInstall List of packages to install after Leapp upgrade. UpgradeLeappToRemove List of packages to remove during Leapp upgrade. 8.3. Using predictable NIC names for overcloud nodes Before you run the Leapp upgrade on overcloud nodes, you must check for kernel-based NIC names, which usually contain an eth prefix. These NIC names are usually unpredictable in terms of NIC assignments. You can run the playbook-nics.yaml playbook to rename NIC names to use the em NIC prefix. You can also set a different NIC prefix, by modifying the prefix variable when running the playbook. However, the NIC changes are only applied after the Leapp upgrade process completes and the node is rebooted. Prerequisites The playbook-nics.yaml playbook created during the undercloud preparation process. The playbook-nics.yaml playbook accommodates most overcloud networking scenarios that use Ethernet devices, bridges, and Linux bonds. If your environment requires additional configuration beyond these device types, follow these recommendations before proceeding: Test the playbook on a separate system with a similar networking configuration to your overcloud nodes Modify the playbook to accommodate renaming the eth prefix within the configuration of other device types Check the networking configuration of your overcloud nodes after you complete this procedure Procedure Log in to the undercloud as the stack user. Run the playbook-nics.yaml playbook on all overcloud nodes: The playbook sets the new NIC prefix to em . To set a different NIC prefix, set the prefix variable when running the playbook: The NIC changes are only applied after the Leapp upgrade process completes and the node is rebooted. Resources How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7 Consistent Network Device Naming Understanding the Predictable Network Interface Device Names

Commands:
touch templates/upgrades-environment.yaml
parameter_defaults: UpgradeLeappCommandOptions: " --enablerepo rhel-8-for-x86_64-baseos-eus-rpms --enablerepo rhel-8-for-x86_64-appstream-eus-rpms --enablerepo rhel-8-for-x86_64-highavailability-eus-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms "
ansible-playbook -i ~/inventory.yaml playbook-nics.yaml
ansible-playbook -i ~/inventory.yaml -e prefix="mynic" playbook-nics.yaml