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

以下の手順では、オーバークラウドをアップグレードします。

前提条件

  • アンダークラウドが最新バージョンにアップグレードされていること
  • アップグレードでの変更に対応するためのカスタム環境ファイルの準備が完了していること

6.1. overcloud upgrade prepare の実行

アップグレードには、openstack overcloud upgrade prepare コマンドを実行する必要があります。このコマンドのより、次のタスクが実行されます。

  • オーバークラウドのプランを OpenStack Platform 13 に更新します。
  • アップグレードに向けたノードの準備

手順

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

    $ source ~/stackrc
  2. upgrade prepare コマンドを実行します。

    $ openstack overcloud upgrade prepare \
        --templates \
        -e /home/stack/templates/overcloud_images.yaml \
        -e <ENVIRONMENT FILE>

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

    • カスタム設定環境ファイル(-e)
    • 新しいコンテナーイメージの場所が記載された環境ファイル (-e)。アップグレードのコマンドで --container-registry-file の使用に関する警告が表示される場合があることに注意してください。このオプションは非推奨になり、コンテナーイメージの環境ファイルには -e を使用するのが推奨されるようになっているので、警告は無視して問題ありません。
    • 該当する場合は、--roles-file でカスタムロール (roles_data) のファイルを指定します。
    • 該当する場合は、--networks-file でコンポーザブルネットワーク (network_data) のファイルを指定します。
  3. upgrade prepare が完了するまで待ちます。

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

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

手順

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

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

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

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

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

手順

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

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

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

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

    $ openstack overcloud ceph-upgrade run \
        --templates \
        -e /home/stack/templates/overcloud_images.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 を使用するのが推奨されるようになっているので、警告は無視して問題ありません。
      • Ceph Storage ノード用の関連する環境ファイル
      • お使いの環境に関連する追加の環境ファイル
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    • 該当する場合は、--roles-file でカスタムロール (roles_data) のファイルを指定します。
    • 該当する場合は、--networks-file でコンポーザブルネットワーク (network_data) のファイルを指定します。
  5. Ceph Storage ノードのアップグレードが完了するまで待ちます。

6.5. アップグレードの最終処理

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

手順

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

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

    $ openstack overcloud upgrade converge \
        --templates \
        -e <ENVIRONMENT FILE>

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

    • カスタム設定環境ファイル (-e)
    • カスタムのスタック名を使用する場合には、--stack オプションでその名前を渡します。
    • 該当する場合は、--roles-file でカスタムロール (roles_data) のファイルを指定します。
    • 該当する場合は、--networks-file でコンポーザブルネットワーク (network_data) のファイルを指定します。
  3. アップグレードの最終処理が完了するまで待ちます。