Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
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 Link kopierenLink in die Zwischenablage kopiert!
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
stackuser. Create an environment file called
upgrades-environment.yamlin yourtemplatesdirectory:$ touch templates/upgrades-environment.yamlEdit the file and add the following mandatory content:
parameter_defaults: UpgradeLeappDevelSkip: "LEAPP_UNSUPPORTED=1 LEAPP_DEVEL_TARGET_RELEASE=8.2" LeappInitCommand: | for module in pata_acpi floppy; do sudo sed -i "/^${module}$/d" /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt; done sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py sudo yum -y remove mariadb-server* || true UpgradeInitCommand: "sudo dnf config-manager --save --setopt exclude=''"-
UpgradeLeappDevelSkipskips Leapp checks and sets environment variables when Leapp runs. -
LeappInitCommandpasses commands or script snippets that run on each of the overcloud nodes, and prepares the nodes for the Leapp upgrade. -
UpgradeInitCommandpasses commands or script snippets that run on each of the overcloud nodes. Thednf config-manager --save --setopt exclude=''command removes Leapp packages from DNF exclusion so that automatic removal ofpython2packages is successful.
-
Optional: If you use TLS-Everywhere in your environment and want to migrate from
authconfigtoauthselect, set theauthselect_check.confirmparameter toTrueto avoid bug BZ#1978228 - OSP13→16.2 Leapp upgrade failed with TLSEverywhere:parameter_defaults: LeappInitCommand: | sudo leapp answer --section authselect_check.confirm=True --addOtherwise, set the value to
False.NoteUse the
|syntax to pass multiple commands to theLeappInitCommandparameter:parameter-defaults: LeappInitCommand: | <command_1> <command_2>-
Save the
upgrades-environment.yamlfile.
8.2. Upgrade parameters Link kopierenLink in die Zwischenablage kopiert!
| Parameter | Description |
|---|---|
|
| Command or script snippet to run on all overcloud nodes to initialize the upgrade process. For example, a repository switch. |
|
| 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. |
|
| Additional command line options to append to the Leapp command. |
|
|
Print debugging output when running Leapp. The default value is |
|
| Skip Leapp checks by setting env variables when running Leapp in development/testing. For example, LEAPP_DEVEL_SKIP_RHSM=1. |
|
|
Use Leapp for operating system upgrade. The default value is |
|
|
Maximum (seconds) to wait for machine to reboot and respond to a test command. The default value is |
|
|
Timeout (seconds) for the OS upgrade phase via Leapp. The default value is |
|
| List of packages to install after Leapp upgrade. |
|
| List of packages to remove during Leapp upgrade. |
8.3. Copying the Leapp data on the overcloud nodes Link kopierenLink in die Zwischenablage kopiert!
Each overcloud node requires Leapp data files. Copy the data files in the /etc/leapp/files directory on the undercloud to the same location on each overcloud node.
Procedure
-
Log in to the undercloud as the
stackuser. Source the
stackrcfile.$ source ~/stackrcCreate a static inventory file of all the nodes in your environment:
$ tripleo-ansible-inventory --static-yaml-inventory ~/inventory.yaml --stack STACK_NAMEIf you are not using the default
overcloudstack name, set your stack name with the--stack STACK NAMEoption replacingSTACK NAMEwith the name of your stack.To copy the leapp data to the overcloud nodes, run the following
synchronizeAnsible command:$ ansible -i ~/inventory.yaml --become -m synchronize -a "src=/etc/leapp/files dest=/etc/leapp/" overcloud
8.4. Using predictable NIC names for overcloud nodes Link kopierenLink in die Zwischenablage kopiert!
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.yamlplaybook created during the undercloud preparation process. Theplaybook-nics.yamlplaybook 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
ethprefix 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
stackuser. Run the
playbook-nics.yamlplaybook on all overcloud nodes:$ ansible-playbook -i ~/inventory.yaml playbook-nics.yamlThe playbook sets the new NIC prefix to
em. To set a different NIC prefix, set theprefixvariable when running the playbook:$ ansible-playbook -i ~/inventory.yaml -e prefix="mynic" playbook-nics.yamlThe NIC changes are only applied after the Leapp upgrade process completes and the node is rebooted.