第 8 章 为 Leapp 升级配置 overcloud
长生命 Red Hat OpenStack Platform (RHOSP)升级需要一个从 Red Hat Enterprise Linux 7 升级到 Red Hat Enterprise Linux 8 的基本操作系统。Red Hat Enterprise Linux 7 使用 Leapp 程序执行到 Red Hat Enterprise Linux 8 的升级。有关 Leapp 及其依赖项的更多信息,请参阅 为升级准备 RHEL 7 系统。
overcloud 升级框架自动运行 leapp 升级。为确保 RHOSP 升级成功,建议您手动运行预升级报告来识别并解决任何潜在问题。对每个 Compute、Controller 和 Ceph Storage 角色至少有一个主机运行预升级报告。有关 Leapp 预升级报告的更多信息,请参阅 检查预升级报告。
8.1. 创建升级环境文件
升级过程使用环境文件来启用升级过程并配置特定的升级参数。
流程
-
以
stack
用户的身份登录 undercloud。 在
templates
目录中创建一个名为 upgrade-environment.yaml
的环境文件:$ touch templates/upgrades-environment.yaml
编辑该文件并添加以下强制内容:
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=''"
-
UpgradeLeappDevelSkip
会跳过 Leapp 检查,并在 Leapp 运行时设置环境变量。 -
LeappInitCommand
会传递在每个 overcloud 节点上运行的命令或脚本片断,并为 Leapp 升级准备节点。 -
UpgradeInitCommand
传递在每个 overcloud 节点上运行的命令或脚本片断。dnf config-manager --save --setopt exclude=''
命令从 DNF exclude 中删除 Leapp 软件包,以便成功删除python2
软件包。
-
可选: 如果您在环境中使用 TLS-Everywhere 并希望从
authconfig
迁移到authselect
,请将authselect_check.confirm
参数设置为True
以避免 bug BZ#1978228 - OSP13→16.2 Leapp upgrade failed with TLSEverywhere:parameter_defaults: LeappInitCommand: | sudo leapp answer --section authselect_check.confirm=True --add
否则,将值设为
False
。注意使用
|
语法将多个命令传递给LeappInitCommand
参数:parameter-defaults: LeappInitCommand: | <command_1> <command_2>
-
保存 upgrade
-environment.yaml
文件。