20.3. コンピュートノードの並列アップグレード

多数のコンピュートノードを OpenStack Platform 16.1 にアップグレードする場合は、--limit Compute オプションを指定して openstack overcloud upgrade run コマンドを実行し、20 ノードのグループを並行して処理することができます。

バックグラウンドで複数のアップグレードタスクを実行できます。この場合、各タスクは 20 ノードの個別のグループをアップグレードします。この方法を使用してコンピュートノードを並行してアップグレードする場合は、アップグレードするノードを選択することはできません。ノードの選択は、tripleo-ansible-inventory コマンドの実行時に生成するインベントリーファイルに基づきます。たとえば、デプロイメントに 80 のコンピュートノードがある場合、次のコマンドを実行して、コンピュートノードを並行して更新できます。

$ openstack overcloud upgrade run -y --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

特定のコンピュートノードをアップグレードするには、ノードのコンマ区切りリストを使用します。

$ openstack overcloud upgrade run --limit <Compute0>,<Compute1>,<Compute2>,<Compute3>
注記

デフォルトのスタック名 (overcloud) を使用していない場合は、--stack STACK NAME オプションを使用します。STACK NAME は実際のスタック名に置き換えます。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. stackrc ファイルを取得します。

    $ source ~/stackrc
  3. インスタンスを移行します。移行計画の詳細は、コンピュートノード間の仮想マシンインスタンスの移行 を参照してください。
  4. system_upgrade タグを指定してアップグレードコマンドを実行します。

    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

    このコマンドにより、以下のアクションが行われます。

    • Leapp によるオペレーティングシステムのアップグレードを実施する。
    • Leapp によるアップグレードの一部としてリブートを実施する。
  5. タグを指定せずにアップグレードコマンドを実行します。

    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

    このコマンドにより、Red Hat OpenStack Platform のアップグレードが実施されます。

  6. (オプション) 選択したコンピュートノードをアップグレードするには、アップグレードするノードのコンマ区切りリストと共に --limit オプションを使用します。以下の例では、overcloud-compute-0overcloud-compute-1overcloud-compute-2 ノードを並行してアップグレードします。

    1. system_upgrade タグを指定してアップグレードコマンドを実行します。

      $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-compute-0,overcloud-compute-1,overcloud-compute-2
    2. タグを指定せずにアップグレードコマンドを実行します。

      $ openstack overcloud upgrade run --stack STACK NAME  --limit overcloud-compute-0,overcloud-compute-1,overcloud-compute-2