第6章 オーバークラウドのアップグレード

本項ではオーバークラウドをアップグレードします。これには、以下のワークフローが含まれます。

  • Fast Forward Upgrade の parepare コマンドの実行
  • fast forward upgrade コマンドの実行
  • コントローラーノードのアップグレード
  • コンピュートノードのアップグレード
  • Ceph Storage ノードのアップグレード
  • Fast Forward Upgrade の最終処理

このワークフローを一旦開始すると、全ステップを完了するまでオーバークラウドの OpenStack サービスは完全には制御できなくなることを認識しておいてください。これは、全ノードが OpenStack Platform 13 に正常にアップグレードされるまで、ワークロードは管理できないことを意味します。ワークロード自体は影響を受けず、稼働を続けます。オーバークラウドのワークロードへの変更または追加は、Fast Forward Upgrade が完了するまで待つ必要があります。

6.1. オーバークラウドの Fast Forward Upgrade の実行

Fast Forward Upgrade には、以下のタスクを実行する 2 つのコマンドが必要です。

  • オーバークラウドのプランを OpenStack Platform 13 に更新します。
  • Fast Forward Upgrade に備えてノードを準備します。
  • Fast Forward Upgrade の対象となる各バージョンのアップグレードステップを順番に実行します。以下の作業が含まれます。

    • 各 OpenStack Platform サービスのバージョン固有のタスク
    • リポジトリーの変更。Fast Forward Upgrade の対象となる OpenStack Platform バージョンを 1 つずつ順番に切り替える
    • データベースのアップグレードに必要な特定のパッケージを更新する
    • データベースのバージョンを 1 つずつ順番にアップグレードする
  • OpenStack Platform 13 への最終アップグレードに向けてオーバークラウドを準備します。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. Fast Forward Upgrade の parepare コマンドを実行します。

    $ openstack overcloud ffwd-upgrade prepare \
        --templates \
        -e /home/stack/templates/overcloud_images.yaml \
        -e /home/stack/templates/deprecated_cli_options.yaml \
        -e /home/stack/templates/custom_repositories_script.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
        -e /home/stack/templates/ceph-customization.yaml \
        -e <ENVIRONMENT FILE>

    以下のオプションの中で、お使いの環境に適切なオプションを追加します。

    • カスタム設定の環境ファイル (-e で指定)。以下に例を示します。

      • コンテナーイメージの場所が記載された環境ファイル (overcloud_images.yaml)。アップグレードのコマンドで --container-registry-file の使用に関する警告が表示される場合があることに注意してください。このオプションは非推奨になり、コンテナーイメージの環境ファイルには -e を使用するのが推奨されるようになっているので、警告は無視して問題ありません。
      • 該当する場合は、非推奨になった CLI オプションを Heat パラメーターにマッピングする環境ファイル。deprecated_cli_options.yaml を使用します。
      • 該当する場合は、カスタムリポジトリーのスクリプトを指定する環境ファイル。custom_repositories_script.yaml を使用します。
      • Ceph Storage ノードを使用する場合には、関連する環境ファイル
      • お使いの環境に関連する追加の環境ファイル
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    • 該当する場合には、--roles-file を使用する、カスタムロール (roles_data) のファイル
    重要

    ffwd-upgrade コマンドの実行を確認するプロンプトが表示されます。yes と入力してください。

  3. オーバークラウドプランが OpenStack Platform 13 バージョンに更新されます。Fast Forward Upgrade の準備が完了するまで待ちます。
  4. Fast Forward Upgrade の コマンドを実行します。

    $ openstack overcloud ffwd-upgrade run
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    重要

    ffwd-upgrade コマンドの実行を確認するプロンプトが表示されます。yes と入力してください。

  5. Fast Forward Upgrade が完了するまで待ちます。

この段階では、

  • ワークロードは引き続き稼働中です。
  • オーバークラウドのデータベースは OpenStack Platform 12 にアップグレードされます。
  • オーバークラウドのサービスがすべて無効化されます。
  • Ceph Storage ノードはまだバージョン 2 です。

これは、オーバークラウドが、OpenStack Platform 13 に達するための標準のアップグレードステップを実行できる状態にあることを意味します。

6.2. 全コントローラーノードのアップグレード

このプロセスでは、全コントローラーノードを OpenStack Platform 13 にアップグレードします。このプロセスは、openstack overcloud upgrade run コマンドに --roles Controller オプションを指定して、操作をコントローラノードのみに制限して実行する必要があります。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. アップグレードのコマンドを実行します。

    $ openstack overcloud upgrade run --roles Controller --skip-tags validation
    注記

    OpenStack Platform サービスはオーバークラウド上では非アクティブな状態で検証できないため、上記のコマンドには --skip-tags validation を使用しています。

    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
  3. コントローラーノードのアップグレードが完了するまで待ちます。

この段階では、

  • ワークロードは引き続き稼働中です。
  • オーバークラウドのデータベースが OpenStack Platform 13 バージョンにアップグレードされました。
  • コントローラーノードが OpenStack Platform 13 にアップグレードされました。
  • すべてのコントローラーサービスが有効化されました。
  • コンピュートノードは、まだアップグレードする必要があります。
  • Ceph Storage ノードは、まだバージョン 2 で、アップグレードする必要があります。
警告

コントローラーサービスは有効化されていますが、コンピュートノードと Ceph Storage サービスが無効になるまではワークロードの操作は実行しないでください。ワークロードを操作すると、 仮想マシンが孤立してしまう可能性があります。環境全体がアップグレードされるまで待ってください。

6.3. テスト用コンピュートノードのアップグレード

このプロセスは、テスト用に選択したコンピュートノードをアップグレードします。このプロセスでは、openstack overcloud upgrade run コマンドに --nodes オプションを指定して、操作をテスト用ノードのみに制限して実行する必要があります。この手順では、コマンドで --nodes compute-0 を例として使用しています。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. アップグレードのコマンドを実行します。

    $ openstack overcloud upgrade run --nodes compute-0 --skip-tags validation
    注記

    OpenStack Platform サービスはオーバークラウド上では非アクティブな状態で検証できないため、上記のコマンドには --skip-tags validation を使用しています。

    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
  3. テスト用ノードのアップグレードが完了するまで待ちます。

6.4. 全コンピュートノードのアップグレード

このプロセスでは、残りのコンピュートノードを OpenStack Platform 13 にアップグレードします。このプロセスは、openstack overcloud upgrade run コマンドに --roles Compute オプションを指定して、操作をコンピュートノードのみに制限して実行する必要があります。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. アップグレードのコマンドを実行します。

    $ openstack overcloud upgrade run --roles Compute --skip-tags validation
    注記

    OpenStack Platform サービスはオーバークラウド上では非アクティブな状態で検証できないため、上記のコマンドには --skip-tags validation を使用しています。

    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
  3. コンピュートノードのアップグレードが完了するまで待ちます。

この段階では、

  • ワークロードは引き続き稼働中です。
  • コントローラーノードとコンピュートノードが OpenStack Platform 13 にアップグレードされました。
  • Ceph Storage ノードは、まだバージョン 2 で、アップグレードする必要があります。

6.5. 全 Ceph Storage ノードのアップグレード

このプロセスでは、Ceph Storage ノードをアップグレードします。このプロセスには、以下の操作が必要です。

  • openstack overcloud upgrade run コマンドに --roles CephStorage オプションを指定して、操作を Ceph Storage ノードのみに制限して実行します。
  • openstack overcloud ceph-upgrade run コマンドを実行して、コンテナー化された Red Hat Ceph Storage 3 クラスターにアップグレードします。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. アップグレードのコマンドを実行します。

    $ openstack overcloud upgrade run --roles CephStorage --skip-tags validation
    注記

    OpenStack Platform サービスはオーバークラウド上では非アクティブな状態で検証できないため、上記のコマンドには --skip-tags validation を使用しています。

    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
  3. ノードのアップグレードが完了するまで待ちます。
  4. Ceph Storage のアップグレードコマンドを実行します。以下に例を示します。

    $ openstack overcloud ceph-upgrade run \
        --templates \
        -e <ENVIRONMENT FILE> \
        -e /home/stack/templates/overcloud_images.yaml \
        -e /home/stack/templates/deprecated_cli_options.yaml \
        -e /home/stack/templates/custom_repositories_script.yaml
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
        -e /home/stack/templates/ceph-customization.yaml \
        --ceph-ansible-playbook '/usr/share/ceph-ansible/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml,/usr/share/ceph-ansible/infrastructure-playbooks/rolling_update.yml'

    以下のオプションの中で、お使いの環境に適切なオプションを追加します。

    • カスタム設定の環境ファイル (-e で指定)。以下に例を示します。

      • コンテナーイメージの場所が記載された環境ファイル (overcloud_images.yaml)。アップグレードのコマンドで --container-registry-file の使用に関する警告が表示される場合があることに注意してください。このオプションは非推奨になり、コンテナーイメージの環境ファイルには -e を使用するのが推奨されるようになっているので、警告は無視して問題ありません。
      • 該当する場合は、非推奨になった CLI オプションを Heat パラメーターにマッピングする環境ファイル。deprecated_cli_options.yaml を使用します。
      • 該当する場合は、カスタムリポジトリーのスクリプトを指定する環境ファイル。custom_repositories_script.yaml を使用します。
      • Ceph Storage ノード用の関連する環境ファイル
      • お使いの環境に関連する追加の環境ファイル
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    • 該当する場合には、--roles-file を使用する、カスタムロール (roles_data) のファイル
    • 以下の Ansible Playbook
    • /usr/share/ceph-ansible/infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
    • /usr/share/ceph-ansible/infrastructure-playbooks/rolling_update.yml
  5. Ceph Storage ノードのアップグレードが完了するまで待ちます。

この段階では、

  • 全ノードが OpenStack Platform 13 にアップグレードされ、ワークロードは引き続き稼働しています。

環境はアップグレードされましたが、最後のステップを 1 つ実行して、アップグレードの最終処理を行う必要があります。

6.6. Fast Forward Upgrade の最終処理

Fast Forward Upgrade には、オーバークラウドスタックを更新する最終ステップが必要です。これにより、スタックのリソース構造が OpenStack Platform 13 の標準のデプロイメントと一致し、今後、通常の openstack overcloud deploy の機能を実行できるようになります。

手順

  1. stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. Fast Forward Upgrade の最終処理のコマンドを実行します。

    $ openstack overcloud ffwd-upgrade converge \
        --templates \
        -e /home/stack/templates/overcloud_images.yaml \
        -e /home/stack/templates/deprecated_cli_options.yaml \
        -e /home/stack/templates/custom_repositories_script.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
        -e /home/stack/templates/ceph-customization.yaml \
        -e <OTHER ENVIRONMENT FILES>

    以下のオプションの中で、お使いの環境に適切なオプションを追加します。

    • カスタム設定の環境ファイル (-e で指定)。以下に例を示します。

      • コンテナーイメージの場所が記載された環境ファイル (overcloud_images.yaml)。アップグレードのコマンドで --container-registry-file の使用に関する警告が表示される場合があることに注意してください。このオプションは非推奨になり、コンテナーイメージの環境ファイルには -e を使用するのが推奨されるようになっているので、警告は無視して問題ありません。
      • 該当する場合は、非推奨になった CLI オプションを Heat パラメーターにマッピングする環境ファイル。deprecated_cli_options.yaml を使用します。
      • 該当する場合は、カスタムリポジトリーのスクリプトを指定する環境ファイル。custom_repositories_script.yaml を使用します。
      • Ceph Storage ノードを使用する場合には、関連する環境ファイル
      • お使いの環境に関連する追加の環境ファイル
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    • 該当する場合には、--roles-file を使用する、カスタムロール (roles_data) のファイル
    重要

    ffwd-upgrade コマンドの実行を確認するプロンプトが表示されます。yes と入力してください。

  3. Fast Forward Upgrade の最終処理が完了するまで待ちます。

6.7. 次のステップ

オーバークラウドのアップグレードが完了しました。これで、 「7章アップグレード後のステップの実行」に記載のステップに従って、アップグレード後のオーバークラウドの設定を行うことができます。今後のデプロイメント操作では、OpenStack Platform 13 環境に関連する全環境ファイルを必ず指定してください。これには、アップグレード中に新規作成または変換した環境ファイルが含まれます。