Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第8章 director ベースのアップグレードのトラブルシューティング
本項では、両シナリオで問題が発生した場合のトラブルシューティングのアドバイスを記載します。
8.1. アンダークラウドのアップグレード
アンダークラウドのアップグレードコマンド (openstack undercloud upgrade
) が失敗した場合には、以下のアドバイスに従って、アップグレードの進捗の妨げとなっている問題を特定してください。
-
openstack undercloud upgrade
コマンドは、実行中に進捗ログを出力します。アップグレードのプロセス中にエラーが発生した場合には、エラーの発生時にこのコマンドは停止します。この情報を使用して、アップグレードの進捗を妨げている問題を特定してください。 openstack undercloud upgrade
コマンドは、Puppet を実行してアンダークラウドサービスを設定します。これにより、以下のディレクトリーで便利な Puppet のレポートが生成されます。-
/var/lib/puppet/state/last_run_report.yaml
: 最後の Puppet レポートは、アンダークラウド向けに生成されます。このファイルは、問題のある Puppet のアクションの原因を表示します。 -
/var/lib/puppet/state/last_run_summary.yaml
:last_run_report.yaml
ファイルのサマリー /var/lib/puppet/reports
: アンダークラウドの全 Puppet レポートこの情報を使用して、アップグレードプロセスを妨げている問題を特定します。
-
エラーが発生しているサービスがあるかどうかを確認します。
$ sudo systemctl -t service
エラーが発生しているサービスがある場合は、対応するログを確認します。たとえば、
openstack-ironic-api
でエラーが発生している場合には、以下のコマンドを使用してこのサービスのログを確認します。$ sudo journalctl -xe -u openstack-ironic-api $ sudo tail -n 50 /var/log/ironic/ironic-api.log
アンダークラウドのアップグレードを妨げていた問題を修正した後に、アップグレードのコマンドを再度実行します。
$ openstack undercloud upgrade
アップグレードのコマンドをもう 1 度開始して、アンダークラウドを設定します。
8.2. オーバークラウドのアップグレード
オーバークラウドのアップグレードプロセスで障害が発生した場合には、以下のアドバイスに従ってアップグレードプロセスを妨げている問題を特定します。
Heat スタックの一覧を確認して、
UPDATE_FAILED
のステータスがあるスタックを特定します。以下のコマンドで、そのようなスタックを特定します。$ heat stack-list --show-nested | awk -F "|" '{ print $3,$4 }' | grep "UPDATE_FAILED" | column -t
エラーの発生したスタックとそのスタックのテンプレートを表示して、スタックが失敗した原因を究明します。
$ heat stack-show overcloud-Controller-qyoy54dyhrll-1-gtwy5bgta3np $ heat template-show overcloud-Controller-qyoy54dyhrll-1-gtwy5bgta3np
全コントローラーノード上で Pacemaker が正しく実行されていることを確認します。必要な場合は、コントローラーノードにログインして、コントローラークラスターを再起動します。
$ sudo pcs cluster start
オーバークラウドのアップグレードを妨げていた問題を修正した後に、アップグレードを試みて失敗したステップの openstack overcloud deploy
コマンドを再度実行します。アップグレードプロセスで、major-upgrade-pacemaker-init.yaml
を指定して実行する最初の openstack overcloud deploy
コマンドの例を以下に示します。
$ openstack overcloud deploy --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \ -e network_env.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/major-upgrade-pacemaker-init.yaml
openstack overcloud deploy
は、オーバークラウドのスタックの更新を再試行します。