5.2. 在 undercloud 上执行 Leapp 升级
安装并运行 Leapp 程序将操作系统升级到 Red Hat Enterprise Linux (RHEL) 8。
先决条件
- 在安装并运行 Leapp 前,请确定您已熟悉了 第 2.4 节 “Leapp 升级使用 Red Hat OpenStack Platform” 部分。
- 在执行 Leapp 升级前,请确保完成 第 4.3 节 “为 undercloud 节点使用可预测的 NIC 名称” 部分。如果您在执行 Leapp 升级过程前没有重命名网络接口名称,则接口名称可能会在升级到 RHEL 8.2 后有所变化。
流程
-
以
stack
用户的身份登录 undercloud。 安装 Leapp 工具和 jq:
sudo yum install leapp sudo yum install jq
$ sudo yum install leapp $ sudo yum install jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
下载额外所需的数据文件(RPM 软件包更改和 RPM 存储库映射)附加到 知识库文章 Data required by the Leapp utility for an in-place upgrade from RHEL 7 to RHEL 8,并将这些文件放在
/etc/leapp/files/
目录中。 更新您的红帽订阅:
如果您的 undercloud 使用红帽客户门户网站进行注册,请刷新当前订阅以获取对 Red Hat Enterprise Linux 8.2 内容的访问权限:
sudo subscription-manager refresh
$ sudo subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 undercloud 使用 Red Hat Satellite 服务器进行注册,请将 undercloud 重新注册到与您的 Red Hat OpenStack Platform (RHOSP) 16.1 激活码关联的内容视图。
sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY
$ sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意为 Red Hat OpenStack Platform 16.1 创建的内容视图必须包含 Red Hat Enterprise Linux 8.2 的内容。
Red Hat OpenStack Platform 16.1 使用 Open vSwitch 的较新版本。通过
to_remove
和to_install
事务文件替换 Open vSwitch 版本:echo 'openvswitch2.11' | sudo tee -a /etc/leapp/transaction/to_remove echo 'openvswitch2.13' | sudo tee -a /etc/leapp/transaction/to_install
$ echo 'openvswitch2.11' | sudo tee -a /etc/leapp/transaction/to_remove $ echo 'openvswitch2.13' | sudo tee -a /etc/leapp/transaction/to_install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
to_keep
事务文件升级保留ceph-ansible
的 Red Hat Ceph Storage 3 版本:echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
$ echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 调整 RHEL 8 中不再支持的内核模块:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
leapp answer
命令并指定 Leapp 回答来删除pam_pkcs11
模块:sudo leapp answer --add --section remove_pam_pkcs11_module_check.confirm=True
$ sudo leapp answer --add --section remove_pam_pkcs11_module_check.confirm=True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:如果您的环境使用 TLS-Everywhere 架构部署,并使用已弃用的
authconfig
工具在您的系统中配置身份验证,请使用authselect
工具配置 RHEL 8 系统:sudo leapp answer --add --section authselect_check.confirm=True
$ sudo leapp answer --add --section authselect_check.confirm=True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关 Leapp 升级过程中身份验证配置的更多信息,请参阅 从 RHEL 7 升级到 RHEL 8 中的已知问题。
设置
LEAPP_DEVEL_TARGET_RELEASE
和LEAPP_UNSUPPORTED
环境变量,以指定您要升级到的 RHEL 8 次版本。对于 RHOSP 16.1,您必须将 RHEL 8 次版本设置为8.2
:export LEAPP_UNSUPPORTED=1 export LEAPP_DEVEL_TARGET_RELEASE=8.2
$ export LEAPP_UNSUPPORTED=1 $ export LEAPP_DEVEL_TARGET_RELEASE=8.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 每次使用带有
LEAPP_DEVEL
前缀的环境变量时,都必须使用LEAPP_UNSUPPORTED
环境变量。从 Leapp 进程中删除持久性网络名称 actor :
注意如果您在执行 Leapp 升级过程前没有重命名网络接口名称,则接口名称可能会在升级到 RHEL 8.2 后有所变化。有关重命名网络接口名称的详情请参考 第 4.3 节 “为 undercloud 节点使用可预测的 NIC 名称”。
sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py
$ sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 Leapp 升级过程:
sudo -E leapp upgrade --debug --enablerepo rhel-8-for-x86_64-baseos-tus-rpms --enablerepo rhel-8-for-x86_64-appstream-tus-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms
$ sudo -E leapp upgrade --debug --enablerepo rhel-8-for-x86_64-baseos-tus-rpms --enablerepo rhel-8-for-x86_64-appstream-tus-rpms --enablerepo fast-datapath-for-rhel-8-x86_64-rpms --enablerepo ansible-2.9-for-rhel-8-x86_64-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
--enablerepo
选项设置您要在 Leapp 升级过程中启用的软件仓库。您必须包含这些软件仓库才能促进 Red Hat OpenStack Platform 16.1 转换,特别是 Open vSwitch 的较新版本。-
等待
leapp upgrade
命令成功完成。 在您的根目录中创建空的
.autorelabel
文件:sudo touch /.autorelabel
$ sudo touch /.autorelabel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启后,SELinux 会检测此文件并自动重新标记文件系统。
重新引导 undercloud:
sudo reboot
$ sudo reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 DNF 配置中定义的事务排除中删除 Leapp 软件包:
sudo dnf config-manager --save --setopt exclude=''
$ sudo dnf config-manager --save --setopt exclude=''
Copy to Clipboard Copied! Toggle word wrap Toggle overflow