第24章 アップグレード後操作の実施

オーバークラウドのアップグレードが完了したら、アップグレード後の設定を実施して、環境が完全にサポートされ、これ以降の操作を行う準備が整っている状態にする必要があります。

24.1. アンダークラウドからの不要なパッケージの削除

Leapp によるアップグレード後に、いくつかの不要なパッケージがアンダークラウドに残ります。これらのパッケージを削除します。

手順

  1. 不要なパッケージを削除します。

    $ sudo dnf -y remove --exclude=python-pycadf-common python2*

24.2. アップグレード後の機能検証

post-upgrade 検証グループを実行し、アップグレード後の機能を確認します。

手順

  1. source コマンドで stackrc ファイルを読み込みます。

    $ source ~/stackrc
  2. --group post-upgrade オプションを指定して openstack tripleo validator run コマンドを実行します。

    $ openstack tripleo validator run --group post-upgrade
  3. 検証レポートの結果を確認します。特定の検証からの詳細出力を表示するには、レポートからの特定検証の UUID を指定して openstack tripleo validator show run コマンドを実行します。

    $ openstack tripleo validator show run <UUID>
重要

検証結果が FAILED であっても、Red Hat OpenStack Platform のデプロイや実行が妨げられることはありません。ただし、FAILED の検証結果は、実稼働環境で問題が発生する可能性があることを意味します。

24.3. オーバークラウドイメージのアップグレード

現在のオーバークラウドイメージを新しいバージョンに置き換える必要があります。新しいイメージにより、director は最新バージョンの OpenStack Platform ソフトウェアを使用してノードのイントロスペクションとプロビジョニングを行うことができるようになります。

前提条件

  • アンダークラウドが最新バージョンにアップグレードされていること

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. source コマンドで stackrc ファイルを読み込みます。

    $ source ~/stackrc
  3. オーバークラウドの QCOW2 アーカイブが含まれるパッケージをインストールします。

    $ sudo dnf install rhosp-director-images rhosp-director-images-ipa
  4. stack ユーザーの images ディレクトリー (/home/stack/images) から既存のイメージを削除します。

    $ rm -rf ~/images/*
  5. アーカイブを展開します。

    $ cd ~/images
    $ for i in /usr/share/rhosp-director-images/overcloud-full-latest-16.1.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-16.1.tar; do tar -xvf $i; done
    $ cd ~
  6. director に最新のイメージをインポートします。

    $ openstack overcloud image upload --update-existing --image-path /home/stack/images/
  7. ノードが新しいイメージを使用するように設定します。

    $ openstack overcloud node configure $(openstack baremetal node list -c UUID -f value)
重要

オーバークラウドノードをデプロイする際には、オーバークラウドイメージのバージョンが該当する heat テンプレートバージョンに対応している状態にします。たとえば、OpenStack Platform 16.1 のイメージは、OpenStack Platform 16.1 の heat テンプレートだけに使用してください。

重要

新しい overcloud-full イメージは、古い overcloud-full イメージを置き換えます。古いイメージに変更を加えた場合、特に今後新規ノードをデプロイする場合には、新しいイメージで変更を繰り返す必要があります。

24.4. CPU ピニングパラメーターの更新

Red Hat OpenStack Platform 16.1 では、CPU ピニングに新たなパラメーターが使用されます。

NovaComputeCpuDedicatedSet
専用の (ピニングされた) CPU を設定します。
NovaComputeCpuSharedSet
共有の (ピニングされていない) CPU を設定します。

Red Hat OpenStack Platform 16.1 へのアップグレードが完了したら、CPU ピニングの設定を NovaVcpuPinSet パラメーターから NovaComputeCpuDedicatedSet および NovaComputeCpuSharedSet パラメーターに移行する必要があります。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. コンピュートノードが同時マルチスレッド (SMT) をサポートするが hw:cpu_thread_policy=isolated ポリシーでインスタンスを作成している場合は、以下のオプションのいずれかを実施する必要があります。

    • hw:cpu_thread_policy スレッドポリシーの設定を解除し、インスタンスのサイズを変更する。

      1. source コマンドでオーバークラウドの認証ファイルを読み込みます。

        $ source ~/overcloudrc
      2. フレーバーの hw:cpu_thread_policy 属性の設定を解除します。

        (overcloud) $ openstack flavor unset --property hw:cpu_thread_policy <flavor>
        注記
        • hw:cpu_thread_policy 属性の設定を解除すると、ポリシーがデフォルトの prefer ポリシーに設定されます。これにより、インスタンスは SMT 対応のコンピュートノードを使用するように設定されます (利用可能な場合)。hw:cpu_thread_policy 属性を require に設定することもできます。これにより、SMT 対応のコンピュートノードに対するハード要件が設定されます。
        • コンピュートノードに SMT アーキテクチャーがない場合や、スレッドシブリングが利用可能な CPU コアが十分にない場合には、スケジューリングが失敗します。これを回避するには、hw:cpu_thread_policyrequire ではなく prefer に設定します。デフォルトの prefer ポリシーに設定すると、スレッドシブリングが利用可能な場合に使用されるようになります。
        • hw:cpu_thread_policy=isolate を使用する場合は、SMT を無効にするか、SMT をサポートしないプラットフォームを使用する必要があります。
      3. 新しいスレッドポリシーを使用するようにインスタンスを変換します。

        (overcloud) $ openstack server resize --flavor <flavor> <server>
        (overcloud) $ openstack server resize confirm <server>

        hw:cpu_thread_policy=isolated ポリシーを使用するすべての固定されたインスタンスに対して、このステップを繰り返します。

    • コンピュートノードからインスタンスを移行して、コンピュートノードの SMT を無効にする。

      1. source コマンドでオーバークラウドの認証ファイルを読み込みます。

        $ source ~/overcloudrc
      2. コンピュートノードが新しい仮想マシンを受け入れるのを無効にします。

        (overcloud) $ openstack compute service list
        (overcloud) $ openstack compute service set <hostname> nova-compute --disable
      3. コンピュートノードからすべてのインスタンスを移行します。インスタンスの移行についての詳細は、「コンピュートノード間の仮想マシンインスタンスの移行」を参照してください。
      4. コンピュートノードをリブートし、コンピュートノードの BIOS で SMT を無効にします。
      5. コンピュートノードをブートします。
      6. コンピュートノードを再度有効にします。

        (overcloud) $ openstack compute service set <hostname> nova-compute --enable
  3. source コマンドで stackrc ファイルを読み込みます。

    $ source ~/stackrc
  4. NovaVcpuPinSet パラメーターが含まれる環境ファイルを編集します。
  5. CPU ピニング設定を NovaVcpuPinSet パラメーターから NovaComputeCpuDedicatedSet および NovaComputeCpuSharedSet に移行します。

    • これまでピニングされたインスタンス用に使用されていたホストの場合には、NovaVcpuPinSet の値を NovaComputeCpuDedicatedSet に変更します。
    • これまでピニングされていないインスタンス用に使用されていたホストの場合には、NovaVcpuPinSet の値を NovaComputeCpuSharedSet に変更します。
    • NovaVcpuPinSet の値が設定されていない場合には、ノードでホストするインスタンスの種別に応じて、コンピュートノードのすべてのコアを NovaComputeCpuDedicatedSet または NovaComputeCpuSharedSet のどちらかに割り当てる必要があります。

    たとえば、以前の環境ファイルに以下のピニング設定が定義されていたとします。

    parameter_defaults:
      ...
      NovaVcpuPinSet: 1,2,3,5,6,7
      ...

    設定をピニング設定に移行するには、NovaComputeCpuDedicatedSet パラメーターを設定し、NovaVcpuPinSet パラメーターの設定を解除します。

    parameter_defaults:
      ...
      NovaComputeCpuDedicatedSet: 1,2,3,5,6,7
      NovaVcpuPinSet: ""
      ...

    設定をピニングしない設定に移行するには、NovaComputeCpuSharedSet パラメーターを設定し、NovaVcpuPinSet パラメーターの設定を解除します。

    parameter_defaults:
      ...
      NovaComputeCpuSharedSet: 1,2,3,5,6,7
      NovaVcpuPinSet: ""
      ...
    重要

    NovaComputeCpuDedicatedSet または NovaComputeCpuSharedSet のいずれかの設定が、NovaVcpuPinSet で定義される設定と一致するようにします。NovaComputeCpuDedicatedSet またはNovaComputeCpuSharedSet のいずれかの設定を変更する、またはその両方を設定するには、設定を更新する前にピニング設定のコンピュートノードが 1 つのインスタンスも実行していないようにします。

  6. ファイルを保存します。
  7. デプロイメントコマンドを実行して、新しい CPU ピニングパラメーターでオーバークラウドを更新します。

    (undercloud) $ openstack overcloud upgrade converge \
        --stack _STACK NAME_ \
        --templates \
        ...
        -e /home/stack/templates/<compute_environment_file>.yaml
        ...

24.5. Open Virtual Network (OVN) への移行

Open Virtual Network (OVN) は、インスタンスにネットワークサービスを提供する、Open vSwitch をベースとするソフトウェア定義ネットワーク (SDN) ソリューションです。OVN はプラットフォームに依存しない、OpenStack Networking API の完全なサポートを提供します。OVN を使用することで、ゲストインスタンスのグループを L2 または L3 プライベートネットワークにプログラムで接続することができます。OVN は、Red Hat の他のプラットフォームやソリューションに拡張することのできる仮想ネットワークの標準的な方法を採用しています。

Red Hat Enterprise Linux 16.1 にアップグレードしたら、オーバークラウド上の OpenStack Networking (neutron) サービスを ML2/OVS ドライバーから ML2/OVN ドライバーに移行します。ML2/OVN への移行の詳細は、「ML2/OVS から ML2/OVN への移行」を参照してください。