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

以下の手順では、アンダークラウドと、そのオーバークラウドのイメージを Red Hat OpenStack Platform 13 にアップグレードします。

3.1. アンダークラウドを OpenStack Platform 13 にアップグレードする手順

この手順では、アンダークラウドのツールセットと Heat のコアテンプレートを OpenStack Platform 13 リリースにアップグレードします。

手順

  1. director に stack ユーザーとしてログインします。
  2. 現在設定されている OpenStack Platform リポジトリーを無効にします。

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

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

    $ sudo yum update -y python-tripleoclient
  5. 以下のコマンドを実行してアンダークラウドをアップグレードします。

    $ openstack undercloud upgrade
  6. アンダークラウドのアップグレードプロセスが完了するまで待ちます。
  7. アンダークラウドを再起動して、オペレーティングシステムのカーネルとその他のシステムパッケージを更新します。

    $ sudo reboot
  8. ノードが起動するまで待ちます。

アンダークラウドが OpenStack Platform 13 リリースにアップグレードされました。

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

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

前提条件

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

手順

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

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

    $ cd ~/images
    $ for i in /usr/share/rhosp-director-images/overcloud-full-latest-13.0.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-13.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 13 の Heat テンプレートには、OpenStack Platform 13 のイメージのみを使用してください。

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/osp13
  3. 以前のバージョンをそれ独自のディレクトリーに移動します。

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

    $ diff -urN /tmp/osp12 /tmp/osp13

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

3.4. 次のステップ

アンダークラウドのアップグレードが完了しました。これで、オーバークラウドをアップグレードに向けて準備することができます。