11.4. アップグレードのトラブルシューティング

10章環境のアップグレード の手順では、アンダークラウドとオーバークラウドの両方のアップグレード方法を説明します。このセクションでは、アンダークラウドとオーバークラウドの問題のトラブルシューティングに関するアドバイスを提供します。

11.4.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
    
アンダークラウドのアップグレードを妨げていた問題を修正した後に、アップグレードのコマンドをもう 1 度実行します。
$ openstack undercloud upgrade
アップグレードのコマンドをもう 1 度開始して、アンダークラウドを設定します。

11.4.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
    
  • 「デプロイメント後の設定」 のアドバイスを使用して、特に障害のある Puppet が実行されている場合など、オーバークラウドの設定後の問題を特定します。
  • 全コントローラーノード上で Pacemaker が正しく実行されていることを確認します。必要な場合は、コントローラーノードにログインして、コントローラークラスターを再起動します。
    $ sudo pcs cluster start
    
    Pacemaker の問題診断に関する情報は、「コントローラーサービスのエラー」を参照してください。
オーバークラウドのアップグレードを妨げていた問題を修正した後に、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 は、オーバークラウドのスタックの更新を再試行します。