Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第3章 アンダークラウドのアップグレード

このプロセスにより、アンダークラウドと、そのオーバークラウドのイメージが Red Hat OpenStack Platform 12 にアップグレードされます。

3.1. アンダークラウドノードのアップグレード

オーバークラウドをアップグレードする前にアンダークラウドをアップグレードする必要があります。この手順では、アンダークラウドのツールセットとコア Heat テンプレートコレクションをアップグレードします。

このプロセスにより、アンダークラウドで短時間のダウンタイムが生じます。アンダークラウドのアップグレード中もオーバークラウドは引き続き機能します。

前提条件

  • アップグレードのサポートステートメントを確認済みであること
  • アンダークラウドのバージョンを最新のマイナーバージョンに更新済みであること

手順

  1. director に stack ユーザーとしてログインします。
  2. 現行バージョンの OpenStack Platform リポジトリーを無効にします。

    $ sudo subscription-manager repos --disable=rhel-7-server-openstack-11-rpms
  3. 新しい OpenStack Platform リポジトリーを有効にします。

    $ sudo subscription-manager repos --enable=rhel-7-server-openstack-12-rpms
  4. yum コマンドを実行して、director の主要なパッケージをアップグレードします。

    $ sudo yum update -y python-tripleoclient
  5. /home/stack/undercloud.conf ファイルを編集して、enabled_drivers パラメーターに pxe_ssh ドライバーが含まれていないことを確認します。Virtual Baseboard Management Controller (VBMC) が推奨されるようになったため、このドライバーは非推奨となり、Red Hat OpenStack Platform から削除されました。pxe_ssh ノードを VBMC に切り替えるための説明は、『director のインストールと使用方法』ガイドの「Virtual Baseboard Management Controller (VBMC)」の項を参照してください。
  6. 以下のコマンドを実行してアンダークラウドをアップグレードします。

    $ openstack undercloud upgrade

    このコマンドにより、director のパッケージがアップグレードされ、director の設定が最新の状態に更新されて、バージョンの変更後に指定されていない設定内容が追加されます。このコマンドによって、オーバークラウドのスタックデータや環境内の既存のノードのデータなど、保存されたデータは削除されません。

  7. ノードを再起動します。

    $ sudo reboot
  8. ノードが起動するまで待ちます。
  9. 全サービスのステータスを確認します。

    $ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
    注記

    再起動後に openstack-nova-compute が有効になるまでに約 10 分かかる場合があります。

  10. オーバークラウドとそのノードが存在しているかどうかを確認します。

    $ source ~/stackrc
    $ openstack server list
    $ openstack baremetal node list
    $ openstack stack list

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

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

前提条件

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

手順

  1. stack ユーザーの images ディレクトリー (/home/stack/images) から既存のイメージを削除します。

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

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

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

    $ openstack overcloud node configure $(openstack baremetal node list -c UUID -f value)
  5. 新規イメージが存在することを確認します。

    $ openstack image list
    $ ls -l /httpboot
重要

オーバークラウドノードをデプロイする際には、オーバークラウドイメージのバージョンが、その Heat テンプレートバージョンに対応していることを確認してください。たとえば、OpenStack Platform 12 の Heat テンプレートには、OpenStack Platform 12 のイメージのみを使用してください。

3.3. 以前のテンプレートバージョンの比較

アップグレードプロセスにより、最新のオーバークラウドバージョンに対応したコア Heat テンプレートの新しいセットがインストールされます。Red Hat OpenStack Platform のリポジトリーには、openstack-tripleo-heat-templates-compat パッケージ内のコアテンプレートコレクションの以前のバージョンが維持されています。以下の手順では、オーバークラウドのアップグレードに影響する可能性のある変更点を確認することができるように、それらのバージョンを比較する方法について説明します。

手順

  1. openstack-tripleo-heat-templates-compat パッケージをインストールします。

    $ sudo yum install openstack-tripleo-heat-templates-compat

    これにより、Heat テンプレートコレクションの compat ディレクトリー (/usr/share/openstack-tripleo-heat-templates/compat) に以前のテンプレートがインストールされ、以前のバージョン (ocata) から命名された compat へのリンクが作成されます。これらのテンプレートは、アップグレードされた director との後方互換性があるので、最新バージョンの director を使用して以前のバージョンのオーバークラウドをインストールすることができます。

  2. コア Heat テンプレートの一時的なコピーを作成します。

    $ cp -a /usr/share/openstack-tripleo-heat-templates /tmp/osp12
  3. 以前のバージョンをそれ独自のディレクトリーに移動します。

    $ mv /tmp/osp12/compat /tmp/osp11
  4. 両ディレクトリーのコンテンツに対して diff を実行します。

    $ diff -urN /tmp/osp11 /tmp/osp12

    このコマンドにより、バージョン間におけるコアテンプレートの変更が表示されます。この内容を確認すると、オーバークラウドのアップグレード中にどのような動作が行われるかがわかります。