Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第3章 アンダークラウドのアップグレード
このプロセスにより、アンダークラウドと、そのオーバークラウドのイメージが Red Hat OpenStack Platform 12 にアップグレードされます。
3.1. アンダークラウドノードのアップグレード
オーバークラウドをアップグレードする前にアンダークラウドをアップグレードする必要があります。この手順では、アンダークラウドのツールセットとコア Heat テンプレートコレクションをアップグレードします。
このプロセスにより、アンダークラウドで短時間のダウンタイムが生じます。アンダークラウドのアップグレード中もオーバークラウドは引き続き機能します。
前提条件
- アップグレードのサポートステートメントを確認済みであること
- アンダークラウドのバージョンを最新のマイナーバージョンに更新済みであること
手順
-
director に
stack
ユーザーとしてログインします。 現行バージョンの OpenStack Platform リポジトリーを無効にします。
$ sudo subscription-manager repos --disable=rhel-7-server-openstack-11-rpms
新しい OpenStack Platform リポジトリーを有効にします。
$ sudo subscription-manager repos --enable=rhel-7-server-openstack-12-rpms
yum
コマンドを実行して、director の主要なパッケージをアップグレードします。$ sudo yum update -y python-tripleoclient
-
/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)」の項を参照してください。 以下のコマンドを実行してアンダークラウドをアップグレードします。
$ openstack undercloud upgrade
このコマンドにより、director のパッケージがアップグレードされ、director の設定が最新の状態に更新されて、バージョンの変更後に指定されていない設定内容が追加されます。このコマンドによって、オーバークラウドのスタックデータや環境内の既存のノードのデータなど、保存されたデータは削除されません。
ノードを再起動します。
$ sudo reboot
- ノードが起動するまで待ちます。
全サービスのステータスを確認します。
$ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
注記再起動後に
openstack-nova-compute
が有効になるまでに約 10 分かかる場合があります。オーバークラウドとそのノードが存在しているかどうかを確認します。
$ source ~/stackrc $ openstack server list $ openstack baremetal node list $ openstack stack list
3.2. オーバークラウドイメージのアップグレード
現行のオーバークラウドイメージを新しいバージョンに置き換える必要があります。新しいイメージにより、director は最新バージョンの OpenStack Platform ソフトウェアを使用してノードのイントロスペクションとプロビジョニングを行うことができるようになります。
前提条件
- アンダークラウドが最新バージョンにアップグレードされていること
手順
stack
ユーザーのimages
ディレクトリー (/home/stack/images
) から既存のイメージを削除します。$ rm -rf ~/images/*
アーカイブを展開します。
$ 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 ~
director に最新のイメージをインポートします。
$ openstack overcloud image upload --update-existing --image-path /home/stack/images/
ノードが新しいイメージを使用するように設定します。
$ openstack overcloud node configure $(openstack baremetal node list -c UUID -f value)
新規イメージが存在することを確認します。
$ 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
パッケージ内のコアテンプレートコレクションの以前のバージョンが維持されています。以下の手順では、オーバークラウドのアップグレードに影響する可能性のある変更点を確認することができるように、それらのバージョンを比較する方法について説明します。
手順
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 を使用して以前のバージョンのオーバークラウドをインストールすることができます。コア Heat テンプレートの一時的なコピーを作成します。
$ cp -a /usr/share/openstack-tripleo-heat-templates /tmp/osp12
以前のバージョンをそれ独自のディレクトリーに移動します。
$ mv /tmp/osp12/compat /tmp/osp11
両ディレクトリーのコンテンツに対して
diff
を実行します。$ diff -urN /tmp/osp11 /tmp/osp12
このコマンドにより、バージョン間におけるコアテンプレートの変更が表示されます。この内容を確認すると、オーバークラウドのアップグレード中にどのような動作が行われるかがわかります。