第6章 director を使用しない環境: 高可用性環境における個別の OpenStack サービス (稼働中の Compute) のアップグレード
本章では、高可用性の環境において Compute を並行稼働させて個別のサービスを更新する方法でクラウドデプロイメントをアップグレードする場合に従う必要のある手順を記載します。このシナリオは、director を使用しない環境で Red Hat OpenStack Platform 8 から Red Hat OpenStack Platform 9 にアップグレードします。
稼働中の Compute を使用してアップグレードを行うと、Compute サービスの中断が最小限に抑えられます。小規模なサービスの場合はわずか数分ですが、新たにアップグレードされたコンピュートホストにワークロードを移動する場合は、移行の所要時間がより長くなります。既存のワークロードは無期限で稼働させることが可能です。また、データベース移行を待つ必要はありません。
特定のパッケージの依存関係が原因で、OpenStack サービスのパッケージのアップグレードを試みると、OpenStack のサービスがアップグレードされる前に、Python ライブラリーがアップグレードされてしまう場合があります。そのために、特定のサービスが完了前に失敗する可能性があります。このような状況が発生した場合には、残りのサービスのアップグレードを継続します。このシナリオが完了すると、全サービスが稼動状態になるはずです。
この方法では、Red Hat OpenStack Platform 9 のコンピュートノードを稼働させるのに追加のハードウェアリソースが必要となる場合があります。
本章に記載する手順は、すべての Red Hat OpenStack Platform ドキュメントで順守しているアーキテクチャー命名規則に従います。この規則に精通していない場合には、手順を開始する前に Red Hat OpenStack Platform ドキュメントスイート で『アーキテクチャーガイド』を参照してください。
6.1. アップグレード前のタスク リンクのコピーリンクがクリップボードにコピーされました!
各ノードで subscription-manager
コマンドを使用して、Red Hat OpenStack Platform 9 リポジトリーに変更します。
subscription-manager repos --disable=rhel-7-server-openstack-8-rpms subscription-manager repos --enable=rhel-7-server-openstack-9-rpms
# subscription-manager repos --disable=rhel-7-server-openstack-8-rpms
# subscription-manager repos --enable=rhel-7-server-openstack-9-rpms
openstack-selinux
パッケージをアップグレードします。
yum upgrade openstack-selinux
# yum upgrade openstack-selinux
これは、アップグレードしたサービスが SELinux が有効なシステムで正しく実行されるようにするために必要です。
6.2. MariaDB のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
MariaDB を実行する各ホストで、以下の手順を実行します。1 つのホストでの手順がすべて完了してから、次のホストでこのプロセスを開始してください。
ローカルノードで実行されないようにサービスを停止します。
pcs resource ban galera-master $(crm_node -n)
# pcs resource ban galera-master $(crm_node -n)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs status
の出力で、ローカルノードで実行中のサービスがなくなるまで待ちます。これは、数分かかる可能性があります。ローカルノードは、slaves モードに切り替わります。Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-1 overcloud-controller-2 ] Slaves: [ overcloud-controller-0 ]
Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-1 overcloud-controller-2 ] Slaves: [ overcloud-controller-0 ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードは最終的に Stopped に変わります。
Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-1 overcloud-controller-2 ] Stopped: [ overcloud-controller-0 ]
Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-1 overcloud-controller-2 ] Stopped: [ overcloud-controller-0 ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切なパッケージをアップグレードします。
yum upgrade '*mariadb*' '*galera*'
# yum upgrade '*mariadb*' '*galera*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker がローカルノードで
galera
リソースのスケジューリングができるようにします。pcs resource clear galera-master
# pcs resource clear galera-master
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs status
の出力で gelara リソースがローカルノードでマスターとして実行されていることが表示されるまで待ちます。pcs status
コマンドの出力は、以下のように表示されるはずです。Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
上記の手順は、MariaDB クラスターの完全なアップグレードが完了するまで各ノードで個別に実行します。
6.3. MongoDB のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenStack Telemetry サービスのバックエンドとして機能する MongoDB をアップグレードします。
mongod
リソースを Pacemaker の制御対象から除外します。pcs resource unmanage mongod-clone
# pcs resource unmanage mongod-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このサービスを全コントローラーノードで停止します。各コントローラーノードで以下のコマンドを実行します。
systemctl stop mongod
# systemctl stop mongod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切なパッケージをアップグレードします。
yum upgrade 'mongodb*' 'python-pymongo*'
# yum upgrade 'mongodb*' 'python-pymongo*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各コントローラーで以下のコマンドを実行して、
mongod
サービスを再起動します。systemctl start mongod
# systemctl start mongod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースをクリーンアップします。
pcs resource cleanup mongod-clone
# pcs resource cleanup mongod-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースを Pacemaker の制御対象に戻します。
pcs resource manage mongod-clone
# pcs resource manage mongod-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.4. Identity サービス (keystone) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Identity サービスのパッケージを同時にアップグレードします。
Identity サービスを Pacemaker の制御対象から除外します。
pcs resource unmanage openstack-keystone-clone
# pcs resource unmanage openstack-keystone-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各コントローラーノードで以下のコマンドを実行して Identity サービスを停止します。
systemctl stop openstack-keystone
# systemctl stop openstack-keystone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切なパッケージをアップグレードします。
yum upgrade 'openstack-keystone*' 'python-keystone*'
# yum upgrade 'openstack-keystone*' 'python-keystone*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各コントローラーノードで、更新したユニットファイルを有効にするために、
systemd
を再読み込みます。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 初期のバージョンのインストーラーでは、期限切れの keystone トークンが自動的に削除されるようにシステム設定されていない可能性があるため、トークンテーブルに期限切れのエントリーが多数含まれている可能性があります。このような場合には、データベーススキーマのアップグレードの所要時間が大幅に増大する可能性があります。
問題を緩和するには、データベースから期限切れのトークンをフラッシュします。Identity データベースのアップグレードを実行する前に
keystone-manage
コマンドを実行します。keystone-manage token_flush
# keystone-manage token_flush
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、期限切れのトークンがデータベースからフラッシュされます。このコマンドは、
cron
を使用して定期的に (例: 毎日) 実行するように設定することが可能です。Identity サービスのデータベーススキーマを更新します。
openstack-db --service keystone --update
# openstack-db --service keystone --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各コントローラーノードで以下のコマンドを実行してサービスを再起動します。
systemctl start openstack-keystone
# systemctl start openstack-keystone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker を使用して Identity サービスをクリーンアップします。
pcs resource cleanup openstack-keystone-clone
# pcs resource cleanup openstack-keystone-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースを Pacemaker の制御対象に戻します。
pcs resource manage openstack-keystone-clone
# pcs resource manage openstack-keystone-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.5. Image サービス (glance) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Image サービスのパッケージを同時にアップグレードします。
Pacemaker で Image サービスのリソースを停止します。
pcs resource disable openstack-glance-registry-clone pcs resource disable openstack-glance-api-clone
# pcs resource disable openstack-glance-registry-clone # pcs resource disable openstack-glance-api-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、両サービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade 'openstack-glance*' 'python-glance*'
# yum upgrade 'openstack-glance*' 'python-glance*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Image サービスのデータベーススキーマを更新します。
openstack-db --service glance --update
# openstack-db --service glance --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker を使用して Image サービスをクリーンアップします。
pcs resource cleanup openstack-glance-api-clone pcs resource cleanup openstack-glance-registry-clone
# pcs resource cleanup openstack-glance-api-clone # pcs resource cleanup openstack-glance-registry-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Image サービスのリソースを再起動します。
pcs resource enable openstack-glance-api-clone pcs resource enable openstack-glance-registry-clone
# pcs resource enable openstack-glance-api-clone # pcs resource enable openstack-glance-registry-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.6. Block Storage (cinder) サービスのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Block Storage サービスのパッケージを同時にアップグレードします。
Pacemaker で Block Storage サービスのリソースを停止します。
pcs resource disable openstack-cinder-api-clone pcs resource disable openstack-cinder-scheduler-clone pcs resource disable openstack-cinder-volume
# pcs resource disable openstack-cinder-api-clone # pcs resource disable openstack-cinder-scheduler-clone # pcs resource disable openstack-cinder-volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のサービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade 'openstack-cinder*' 'python-cinder*'
# yum upgrade 'openstack-cinder*' 'python-cinder*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Block Storage サービスのデータベーススキーマを更新します。
openstack-db --service cinder --update
# openstack-db --service cinder --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker を使用して Block Storage サービスをクリーンアップします。
pcs resource cleanup openstack-cinder-volume pcs resource cleanup openstack-cinder-scheduler-clone pcs resource cleanup openstack-cinder-api-clone
# pcs resource cleanup openstack-cinder-volume # pcs resource cleanup openstack-cinder-scheduler-clone # pcs resource cleanup openstack-cinder-api-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Block Storage サービスのリソースを再起動します。
pcs resource enable openstack-cinder-volume pcs resource enable openstack-cinder-scheduler-clone pcs resource enable openstack-cinder-api-clone
# pcs resource enable openstack-cinder-volume # pcs resource enable openstack-cinder-scheduler-clone # pcs resource enable openstack-cinder-api-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.7. Orchestration (heat) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Orchestration サービスのパッケージを同時にアップグレードします。
Pacemaker で Orchestration リソースを停止します。
pcs resource disable openstack-heat-api-clone pcs resource disable openstack-heat-api-cfn-clone pcs resource disable openstack-heat-api-cloudwatch-clone pcs resource disable openstack-heat-engine-clone
# pcs resource disable openstack-heat-api-clone # pcs resource disable openstack-heat-api-cfn-clone # pcs resource disable openstack-heat-api-cloudwatch-clone # pcs resource disable openstack-heat-engine-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のサービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade 'openstack-heat*' 'python-heat*'
# yum upgrade 'openstack-heat*' 'python-heat*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Orchestration のデータベーススキーマを更新します。
openstack-db --service heat --update
# openstack-db --service heat --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker を使用して Orchestration サービスをクリーンアップします。
pcs resource cleanup openstack-heat-clone pcs resource cleanup openstack-heat-api-cloudwatch-clone pcs resource cleanup openstack-heat-api-cfn-clone pcs resource cleanup openstack-heat-api-clone
# pcs resource cleanup openstack-heat-clone # pcs resource cleanup openstack-heat-api-cloudwatch-clone # pcs resource cleanup openstack-heat-api-cfn-clone # pcs resource cleanup openstack-heat-api-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Orchestration リソースを再起動します。
pcs resource enable openstack-heat-clone pcs resource enable openstack-heat-api-cloudwatch-clone pcs resource enable openstack-heat-api-cfn-clone pcs resource enable openstack-heat-api-clone
# pcs resource enable openstack-heat-clone # pcs resource enable openstack-heat-api-cloudwatch-clone # pcs resource enable openstack-heat-api-cfn-clone # pcs resource enable openstack-heat-api-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.8. Telemetry (ceilometer) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Telemetry サービスのパッケージを同時にアップグレードします。
Pacemaker で Telemetry リソースをすべて停止します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のサービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade 'openstack-ceilometer*' 'python-ceilometer*'
# yum upgrade 'openstack-ceilometer*' 'python-ceilometer*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用して Telemetry データベーススキーマを更新します。
ceilometer-dbsync
# ceilometer-dbsync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker を使用して Telemetry サービスをクリーンアップします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Telemetry リソースをすべて再起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
以前のバージョンの Telemetry サービスは、現在のバージョンでは非推奨となっている rpc_backend
パラメーターの値を使用していました。/etc/ceilometer/ceilometer.conf
ファイルの rpc_backend
パラメーターが以下のように設定されていることを確認してください。
rpc_backend=rabbit
rpc_backend=rabbit
6.9. コントローラーノード上の Compute サービス (nova) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Compute サービスのパッケージを同時にアップグレードします。
Pacemaker で Compute リソースをすべて停止します。
pcs resource disable openstack-nova-novncproxy-clone pcs resource disable openstack-nova-consoleauth-clone pcs resource disable openstack-nova-conductor-clone pcs resource disable openstack-nova-api-clone pcs resource disable openstack-nova-scheduler-clone
# pcs resource disable openstack-nova-novncproxy-clone # pcs resource disable openstack-nova-consoleauth-clone # pcs resource disable openstack-nova-conductor-clone # pcs resource disable openstack-nova-api-clone # pcs resource disable openstack-nova-scheduler-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のサービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade 'openstack-nova*' 'python-nova*'
# yum upgrade 'openstack-nova*' 'python-nova*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Compute のデータベーススキーマを更新します。
openstack-db --service nova --update
# openstack-db --service nova --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Liberty と Mitaka の環境間の互換性を確保する必要があります。
コントローラーノードまたはコンピュートノードで Compute サービスを起動する前に、
nova.conf
ファイルの[upgrade_levels]
セクションで、compute
オプションを以前の Red Hat OpenStack Platform バージョン (liberty
) に設定します。crudini --set /etc/nova/nova.conf upgrade_levels compute liberty
# crudini --set /etc/nova/nova.conf upgrade_levels compute liberty
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、コントローラーノードは、以前のバージョンを使用しているコンピュートノードとの通信が引き続き可能となります。
まず、コントローラーの 1 つで
pcs resource unmanage
を実行して Compute リソースの管理を解除する必要があります。pcs resource unmanage openstack-nova-novncproxy-clone pcs resource unmanage openstack-nova-consoleauth-clone pcs resource unmanage openstack-nova-conductor-clone pcs resource unmanage openstack-nova-api-clone pcs resource unmanage openstack-nova-scheduler-clone
# pcs resource unmanage openstack-nova-novncproxy-clone # pcs resource unmanage openstack-nova-consoleauth-clone # pcs resource unmanage openstack-nova-conductor-clone # pcs resource unmanage openstack-nova-api-clone # pcs resource unmanage openstack-nova-scheduler-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントローラーすべてで全サービスを再起動します。
openstack-service restart nova
# openstack-service restart nova
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンピュートホストをすべて OpenStack Mitaka にアップグレードした後で、Pacemaker が制御できるように戻す必要があります。
pcs resource manage openstack-nova-scheduler-clone pcs resource manage openstack-nova-api-clone pcs resource manage openstack-nova-conductor-clone pcs resource manage openstack-nova-consoleauth-clone pcs resource manage openstack-nova-novncproxy-clone
# pcs resource manage openstack-nova-scheduler-clone # pcs resource manage openstack-nova-api-clone # pcs resource manage openstack-nova-conductor-clone # pcs resource manage openstack-nova-consoleauth-clone # pcs resource manage openstack-nova-novncproxy-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Compute リソースをすべてクリーンアップします。
pcs resource cleanup openstack-nova-scheduler-clone pcs resource cleanup openstack-nova-api-clone pcs resource cleanup openstack-nova-conductor-clone pcs resource cleanup openstack-nova-consoleauth-clone pcs resource cleanup openstack-nova-novncproxy-clone
# pcs resource cleanup openstack-nova-scheduler-clone # pcs resource cleanup openstack-nova-api-clone # pcs resource cleanup openstack-nova-conductor-clone # pcs resource cleanup openstack-nova-consoleauth-clone # pcs resource cleanup openstack-nova-novncproxy-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Compute リソースをすべて再起動します。
pcs resource enable openstack-nova-scheduler-clone pcs resource enable openstack-nova-api-clone pcs resource enable openstack-nova-conductor-clone pcs resource enable openstack-nova-consoleauth-clone pcs resource enable openstack-nova-novncproxy-clone
# pcs resource enable openstack-nova-scheduler-clone # pcs resource enable openstack-nova-api-clone # pcs resource enable openstack-nova-conductor-clone # pcs resource enable openstack-nova-consoleauth-clone # pcs resource enable openstack-nova-novncproxy-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.10. OpenStack Networking (neutron) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Networking サービスのパッケージを同時にアップグレードします。
Pacemaker による OpenStack Networking クリーンアップスクリプトがトリガーされないようにします。
pcs resource unmanage neutron-ovs-cleanup-clone pcs resource unmanage neutron-netns-cleanup-clone
# pcs resource unmanage neutron-ovs-cleanup-clone # pcs resource unmanage neutron-netns-cleanup-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で OpenStack Networking のリソースを停止します。
pcs resource disable neutron-server-clone pcs resource disable neutron-openvswitch-agent-clone pcs resource disable neutron-dhcp-agent-clone pcs resource disable neutron-l3-agent-clone pcs resource disable neutron-metadata-agent-clone
# pcs resource disable neutron-server-clone # pcs resource disable neutron-openvswitch-agent-clone # pcs resource disable neutron-dhcp-agent-clone # pcs resource disable neutron-l3-agent-clone # pcs resource disable neutron-metadata-agent-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 適切なパッケージをアップグレードします。
yum upgrade 'openstack-neutron*' 'python-neutron*'
# yum upgrade 'openstack-neutron*' 'python-neutron*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow neutron.conf
ファイルで有効化された高度な OpenStack Networking サービスのパッケージをインストールします。たとえば、openstack-neutron-vpnaas
、openstack-neutron-fwaas
、openstack-neutron-lbaas
などのサービスをアップグレードするには、以下のコマンドを実行します。yum install openstack-neutron-vpnaas yum install openstack-neutron-fwaas yum install openstack-neutron-lbaas
# yum install openstack-neutron-vpnaas # yum install openstack-neutron-fwaas # yum install openstack-neutron-lbaas
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのパッケージをインストールすると、対応する設定ファイルが作成されます。
neutron.conf
ファイルの VPNaaS および LBaaS サービスのエントリーの場合は、「service_provider」エントリーを/etc/neutron
配下の対応するneutron-*aas.conf
ファイルにコピーし、neutron.conf
ファイルではこれらのエントリーをコメント化します。FWaaS サービスのエントリーの場合は、
service_provider
パラメーターをneutron.conf
ファイルに 残す必要があります。LBaaS エージェントを実行する全ノードで、
openstack-neutron-lbaas
パッケージをインストールします。yum install openstack-neutron-lbaas
# yum install openstack-neutron-lbaas
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenStack Networking のデータベーススキーマを更新します。
openstack-db --service neutron --update
# openstack-db --service neutron --update
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で OpenStack Networking のリソースをクリーンアップします。
pcs resource cleanup neutron-metadata-agent-clone pcs resource cleanup neutron-l3-agent-clone pcs resource cleanup neutron-dhcp-agent-clone pcs resource cleanup neutron-openvswitch-agent-clone pcs resource cleanup neutron-server-clone
# pcs resource cleanup neutron-metadata-agent-clone # pcs resource cleanup neutron-l3-agent-clone # pcs resource cleanup neutron-dhcp-agent-clone # pcs resource cleanup neutron-openvswitch-agent-clone # pcs resource cleanup neutron-server-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で OpenStack Networking のリソースを再起動します。
pcs resource enable neutron-metadata-agent-clone pcs resource enable neutron-l3-agent-clone pcs resource enable neutron-dhcp-agent-clone pcs resource enable neutron-openvswitch-agent-clone pcs resource enable neutron-server-clone
# pcs resource enable neutron-metadata-agent-clone # pcs resource enable neutron-l3-agent-clone # pcs resource enable neutron-dhcp-agent-clone # pcs resource enable neutron-openvswitch-agent-clone # pcs resource enable neutron-server-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クリーンアップエージェントを Pacemaker の制御対象に戻します。
pcs resource manage neutron-ovs-cleanup-clone pcs resource manage neutron-netns-cleanup-clone
# pcs resource manage neutron-ovs-cleanup-clone # pcs resource manage neutron-netns-cleanup-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.11. Dashboard (horizon) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、全コントローラーノード上で Dashboard のパッケージを同時にアップグレードします。
Pacemaker で Dashboard リソースを停止します。
pcs resource disable httpd-clone
# pcs resource disable httpd-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、このサービスが停止されるまで待ちます。 適切なパッケージをアップグレードします。
yum upgrade httpd 'openstack-dashboard*' 'python-django*'
# yum upgrade httpd 'openstack-dashboard*' 'python-django*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新したユニットファイルを有効にするために
systemd
を再読み込みします。systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 全コントローラーで Web サーバーを再起動してすべての変更を適用します。
service httpd restart
# service httpd restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Dashboard リソースをクリーンアップします。
pcs resource cleanup httpd-clone
# pcs resource cleanup httpd-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pacemaker で Dashboard リソースを再起動します。
pcs resource enable httpd-clone
# pcs resource enable httpd-clone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
pcs status
の出力で、上記のリソースが実行中と表示されるまで待ちます。
6.12. コンピュートノード (nova) のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
この手順では、単一のコンピュートノードのパッケージをアップグレードします。以下のステップを各コンピュートノードで個別に実行してください。
コンピュートホストのローリングアップグレードを行うには、明示的に API のバージョンの制限を設定して、Liberty と Mitaka の環境間の互換性を確保する必要があります。
コントローラーノードまたはコンピュートノードで Compute サービスを起動する前に、nova.conf
ファイルの [upgrade_levels]
セクションで、compute
オプションを以前の Red Hat OpenStack Platform バージョン (liberty
) に設定します。
crudini --set /etc/nova/nova.conf upgrade_levels compute liberty
# crudini --set /etc/nova/nova.conf upgrade_levels compute liberty
これにより、コントローラーノードは、以前のバージョンを使用しているコンピュートノードとの通信が引き続き可能となります。
ホスト上の OpenStack サービスをすべて停止します。
openstack-service stop
# openstack-service stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのパッケージをアップグレードします。
yum upgrade
# yum upgrade
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホスト上の OpenStack サービスをすべて起動します。
openstack-service start
# openstack-service start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 全ホストをアップグレードした後には、以前のステップで設定した API の制限を削除します。全ホスト上で以下のコマンドを実行します。
crudini --del /etc/nova/nova.conf upgrade_levels compute
# crudini --del /etc/nova/nova.conf upgrade_levels compute
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホスト上の OpenStack サービスをすべて再起動します。
openstack-service restart
# openstack-service restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.13. アップグレード後のタスク リンクのコピーリンクがクリップボードにコピーされました!
個別サービスのアップグレードをすべて完了した後には、全ノードで完全なパッケージアップグレードを行う必要があります。
yum upgrade
# yum upgrade
このコマンドは、すべてのパッケージを最新の状態にします。実行中のプロセスが、配下のバイナリーの更新されたバージョンを使用するようにするには、OpenStack ホストの再起動を後日にスケジューリングする必要があります。
上記の操作によって生成された設定ファイルを確認します。アップグレードされたパッケージで、Red Hat OpenStack Platform 9 バージョンのサービスに適した .rpmnew
ファイルがインストールされているはずです。
新しいバージョンの OpenStack サービスでは、特定の設定オプションが非推奨になっている可能性があります。このような非推奨の設定オプションが原因で今後のアップグレードの際に問題が発生する可能性があるため、非推奨の警告については OpenStack のログも参照してください。各サービスで新規追加/更新された設定オプションや非推奨となった設定オプションについての詳しい説明は、Red Hat OpenStack Platform ドキュメントスイート で『Configuration Reference』を参照してください。