5.2. アンダークラウドでの Leapp アップグレードの実施
Leapp ユーティリティーをインストールして実行し、オペレーティングシステムを Red Hat Enterprise Linux (RHEL) 8 にアップグレードします。
前提条件
- 「Red Hat OpenStack Platform での Leapp アップグレードの使用」 セクションを十分に理解してから Leapp をインストールして実行する。
- 「予測可能なアンダークラウドノード NIC 名の使用」 セクションを完了してから Leapp によるアップグレードを実施する。Leapp によるアップグレードプロセスを実行する前にネットワークインターフェイス名を変更しない場合、RHEL 8.2 へのアップグレードの完了後にインターフェイス名が変わる可能性があります。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 Leapp ユーティリティーと jq をインストールします。
$ sudo yum install leapp $ sudo yum install jq
-
ナレッジベースのアーティクル RHEL 7 から RHEL 8 へのインプレースアップグレード時に Leapp ユーティリティーで必要なデータ に添付されている追加の必須データファイル (RPM パッケージの変更および RPM リポジトリーマッピング) をダウンロードし、それらのファイルを
/etc/leapp/files/
ディレクトリーに置きます。 Red Hat サブスクリプションを更新します。
アンダークラウドの登録に Red Hat カスタマーポータルを使用している場合、現在のサブスクリプションをリフレッシュし、Red Hat Enterprise Linux 8.2 コンテンツへのアクセス権限を取得します。
$ sudo subscription-manager refresh
アンダークラウドの登録に Red Hat Satellite Server を使用している場合は、アンダークラウドを Red Hat OpenStack Platform (RHOSP) 16.1 のアクティベーションキーに関連付けられたコンテンツビューに再登録します。
$ sudo subscription-manager register --force --org ORG --activationkey ACTIVATION_KEY
注記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
to_keep
トランザクションファイルを使用して、アップグレードプロセス中に Red Hat Ceph Storage 3 バージョンのceph-ansible
を維持します。$ echo 'ceph-ansible' | sudo tee -a /etc/leapp/transaction/to_keep
RHEL 8 ではサポートされなくなったカーネルモジュールを調整します。
$ if [ -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/kernel/checkkerneldrivers/files/removed_drivers.txt ]; then 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 else for module in pata_acpi floppy; do jq ". | del(.data[] | select(.driver_name == \"${module}\"))" /etc/leapp/files/device_driver_deprecation_data.json | sudo tee /etc/leapp/files/device_driver_deprecation_data.json_modified mv /etc/leapp/files/device_driver_deprecation_data.json_modified /etc/leapp/files/device_driver_deprecation_data.json done fi
leapp answer
コマンドを実行し、pam_pkcs11
モジュールを削除する Leapp の回答を指定します。$ sudo leapp answer --add --section remove_pam_pkcs11_module_check.confirm=True
(オプション) TLS-Everywhere アーキテクチャーで環境がデプロイされ、システムでの認証を設定するのに非推奨の
authconfig
ユーティリティーが使用される場合は、authselect
ユーティリティーを使用して RHEL 8 システムを設定します。$ sudo leapp answer --add --section authselect_check.confirm=True
Leapp によるアップグレードプロセス時の認証設定の詳細は、Upgrading from RHEL 7 to RHEL 8の Known issues を参照してください。
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
LEAPP_DEVEL
接頭辞を付けて環境変数を使用する場合は、LEAPP_UNSUPPORTED
環境変数を使用する必要があります。Leapp プロセスから、永続的なネットワーク名のアクターを削除します。
注記Leapp によるアップグレードプロセスを実行する前にネットワークインターフェイス名を変更しない場合、RHEL 8.2 へのアップグレードの完了後にインターフェイス名が変わる可能性があります。ネットワークインターフェイス名の名前変更の詳細については、「予測可能なアンダークラウドノード NIC 名の使用」 を参照してください。
$ sudo rm -f /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py
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
--enablerepo
オプションを使用して、Leapp によるアップグレードプロセス中に有効にするリポジトリーを設定します。特に新しいバージョンの Open vSwitch を使用する場合は、Red Hat OpenStack Platform 16.1 への移行を円滑に行うために、これらのリポジトリーを追加する必要があります。-
leapp upgrade
コマンドが正常に完了するのを待ちます。 ルートディレクトリーに空の
.autorelabel
ファイルを作成します。$ sudo touch /.autorelabel
リブート後、SELinux はこのファイルを検出し、自動的にファイルシステムのラベルを変更します。
アンダークラウドをリブートします。
$ sudo reboot
DNF の設定で定義されているトランザクションの除外対象から、Leapp のパッケージを削除します。
$ sudo dnf config-manager --save --setopt exclude=''