21.2. Pacemaker ベースのノードのアップグレード
Pacemaker サービスをホストする全ノードを OpenStack Platform 16.2 にアップグレードします。以下のロールに Pacemaker ベースのサービスが含まれます。
- Controller
- Database (MySQL、Galera)
- Messaging (RabbitMQ)
- Load Balancing (HAProxy)
以下のサービスが含まれるその他すべてのロール
-
OS::TripleO::Services::Pacemaker
-
OS::TripleO::Services::PacemakerRemote
-
このプロセスでは、ブートストラップノードから始めて各ノードをアップグレードします。
手順
stackrc
ファイルを取得します。$ source ~/stackrc
アンダークラウドノードで以下のコマンドを実行し、ブートストラップノードを特定します。
$ tripleo-ansible-inventory --list [--stack <stack_name>] |jq .overcloud_Controller.hosts[0]
-
オプション:
<stack_name>
をスタックの名前に置き換えます。指定しない場合、デフォルトはovercloud
です。
-
オプション:
ブートストラップノードをアップグレードします。
ノードに Ceph Storage コンテナーが含まれていれば、
ceph_systemd
タグを指定して外部アップグレードコマンドを実行します。$ openstack overcloud external-upgrade run [--stack <stack_name>] --tags ceph_systemd -e ceph_ansible_limit=overcloud-controller-0
<stack_name>
は、実際のスタック名に置き換えます。このコマンドにより、以下の操作が行われます。
- Podman 管理を使用するために、Ceph Storage コンテナーを制御する systemd ユニットを変更する。
-
ceph_ansible_limit
変数を使用して、アクションを選択したノードに制限する。
このステップは、
leapp
によるアップグレードに向けて Ceph Storage サービスを準備するための予備的な処置です。system_upgrade
タグを指定してアップグレードコマンドを実行します。$ openstack overcloud upgrade run [--stack <stack_name>] --tags system_upgrade --limit overcloud-controller-0
このコマンドにより、以下のアクションが行われます。
- Leapp によるオペレーティングシステムのアップグレードを実施する。
- Leapp によるアップグレードの一部としてリブートを実施する。
system_upgrade_transfer_data
タグを指定して外部アップグレードコマンドを実行します。$ openstack overcloud external-upgrade run [--stack <stack_name>] --tags system_upgrade_transfer_data
このコマンドにより、最新バージョンのデータベースが既存のノードからブートストラップノードにコピーされます。
nova_hybrid_state
タグを指定してアップグレードコマンドを実行し、upgrade_steps_playbook.yaml
Playbook だけを実行します。$ openstack overcloud upgrade run [--stack <stack_name>] --playbook upgrade_steps_playbook.yaml --tags nova_hybrid_state --limit all
このコマンドにより、Compute ノード上の一時的な 16.2 コンテナーが起動します。これにより、後のステップで Compute ノードをアップグレードする際に、ワークロードの移行が円滑に行われます。
タグを指定せずにアップグレードコマンドを実行します。
$ openstack overcloud upgrade run [--stack <stack_name>] --limit overcloud-controller-0
このコマンドにより、Red Hat OpenStack Platform のアップグレードが実施されます。
Pacemaker ベースの各ノードをアップグレードします。
ノードに Ceph Storage コンテナーが含まれていれば、
ceph_systemd
タグを指定して外部アップグレードコマンドを実行します。$ openstack overcloud external-upgrade run [--stack <stack_name>] --tags ceph_systemd -e ceph_ansible_limit=overcloud-database-0
このコマンドにより、以下の操作が行われます。
- Podman 管理を使用するために、Ceph Storage コンテナーを制御する systemd ユニットを変更する。
-
ceph_ansible_limit
変数を使用して、アクションを選択したノードに制限する。
このステップは、
leapp
によるアップグレードに向けて Ceph Storage サービスを準備するための予備的な処置です。次のノードで、
system_upgrade
タグを指定してアップグレードコマンドを実行します。$ openstack overcloud upgrade run [--stack <stack_name>] --tags system_upgrade --limit overcloud-database-0
このコマンドにより、以下のアクションが行われます。
- Leapp によるオペレーティングシステムのアップグレードを実施する。
- Leapp によるアップグレードの一部としてリブートを実施する。
タグを指定せずにアップグレードコマンドを実行します。
$ openstack overcloud upgrade run [--stack <stack_name>] --limit overcloud-controller-0,overcloud-database-0
このコマンドにより、Red Hat OpenStack Platform のアップグレードが実施されます。このノードに加えて、前のステップでアップグレードしたすべてのノードを
--limit
オプションに含めます。
- 各 Pacemaker ベースのノードでアップグレードプロセスを繰り返し、すべての Pacemaker ベースのノードをアップグレードします。