Red Hat Training

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

第4章 テクニカルノート

本章には、コンテンツ配信ネットワークからリリースされる Red Hat OpenStack Platform「Pike」のエラータアドバイザリーの補足情報を記載します。

4.1. RHEA-2017:3462 — Red Hat OpenStack Platform 12.0 の機能拡張アドバイザリー

本項に記載するバグは、アドバイザリー RHEA-2017:3462 で対応しています。このアドバイザリーについての詳しい情報は、https://access.redhat.com/errata/RHEA-2017:3462 を参照してください。

diskimage-builder

BZ#1489801
MongoDB は Red Hat OpenStack Platform では使用されなくなりました。以前のリリースでは、Telemetry (現在は Gnocchi を使用) とアンダークラウド上の Zaqar (Redis に移行) に使用されていました。その結果、「mongodb」、「puppet-mongodb」「v8」は含まれなくなりました。

opendaylight

BZ#1344429
今回の更新で、NetVirt/OVSDB シナリオにおける OpenDaylight、OVS-DPDK、および OpenStack がサポートされるようになりました。この機能により、ユーザーは OpenDaylight と OVS_DPDK を使用して、テナント向けの仮想化されたネットワークを設定することができます。
BZ#1414298
今回の更新では、Red Hat Openstack Platform 12 で使用する OpenDaylight Carbon リリースの新しいパッケージを提供しています。
BZ#1414313
今回の更新では、Neutron と OpenDaylight コントローラーの両方で高可用性クラスタリングが有効化されています。
BZ#1420383
今回の更新では、Java ベースの LevelDB は、より望ましい JNI パッケージに置き換えられ、leveldbjni-all-1.8-15.5.el7ost.x86_64 パッケージが提供されるようになりました。
BZ#1414431
デフォルトで有効化されている新しい conntrack ベースの SNAT 実装は、Linux netfilter フレームワークを使用して、NAPT (Network Address Port Translation) と接続のトラッキングを行います。
トラフィックの最初のパケットは、netfilter に渡されて、外部の IP で変換されます。その後のパケットは、netfilter を使用してさらに受信および送信の変換を行います。netfilter では、ルーター ID がゾーン ID として使用されます。各ゾーンは、独自のテーブル内の接続をトラッキングします。それ以外の実装は変わりません。
conntrack モードは、各スイッチに関連付けられている加重も新たに考慮する新しい高可用性ロジックも有効化します。また、スイッチは、指定された NAPT ポートを 1 つ開放してパフォーマンスを向上させます。
BZ#1450894
今回の更新により、OpenDaylight を使用する OpenStack 向けに Neutron ルーターの内部インターフェースが ping6 をサポートするようになりました。

openstack-cinder

BZ#1334545
"total_iops_sec_per_gb"、"read_iops_sec_per_gb"、および "write_iops_sec_per_gb" のオプションを使用して、ボリュームの GB サイズごとにスケーリングする QoS IOPS の上限を設定できるようになりました。 

たとえば、total_iops_sec_per_gb=1000 オプションを使用すると、1 GB のボリュームの場合は 1000 IOPS、2 GB のボリュームの場合には 2000 IOPS、というように上限がスケーリングされます。

openstack-containers

BZ#1517903
以前のリリースでは、コンテナーが予期せずにシャットダウンした場合に、Apache は以前としてランタイムファイルをコンテナーに残していたため、ホストが稼動状態に戻った後にコンテナーが再起動の状態のままとなっていました。このため、TLS Everywhere を使用している場合には、ホストの再起動後に、Glance と Swift のサービスに到達できなくなっていました。

今回の修正により、コンテナーイメージの起動スクリプトにランタイムのクリーンアップが追加されました。TLS Everywhere を使用してデプロイされている場合でも、ホストの再起動後には Glance と Swift サービスは正常に機能するようになりました。

openstack-neutron

BZ#1490281
一部のデプロイメントは、AMQP 向けのトラフィックなどの内部トラフィックに Neutron プロバイダーブリッジを使用するため、ブート時のブリッジが通常のスイッチングのように動作するように設定されます。ARP ブロードキャストパケットはパッチポートを使用して統合ブリッジとプロバイダーブリッジの間に入るので、より多くのコントローラーが強制的に停止された後に同時に起動されると、ARP ストームが発生します。

今回のリリースでは、neutron-destroy-patch-ports という新しい systemd サービスがブート時に実行され、パッチポートを削除して、統合ブリッジとプロバイダーブリッジ間の接続を切断するようになりました。これにより、ARP ストームが防がれ、パッチポートは openvswitch エージェントが起動した後に更新されます。

openstack-panko

BZ#1417221
Panko サービスは、OpenStack バージョン 12 で正式に非推奨となりました。panko のサポートは、cloudforms からの使用のみに限定されます。cloudforms のユースケース以外での panko の使用は推奨しません。

openstack-tripleo-common

BZ#1276147
今回の更新により OpenStack Bare Metal (ironic) には、Emulex ハードウェアの iSCSI (be2iscsi) ramdisk 向けのサポートが追加されました。
BZ#1434929
以前は、OS_IMAGE_API_VERSIONと OS_VOLUME_API_VERSION の環境変数は設定されなかったため、Glance と Cinder はデフォルトの API バージョンにフォールバックしていました。Cinder ではこのバージョンはより古い v2 API でした。

今回の更新により、Glance と Cinder の API バージョンが指定Glance と Cinder の API バージョンを指定するための環境変数が overcloudrc ファイルで設定されるようになりました。

openstack-tripleo-heat-templates

BZ#1487920
暗号化されたボリュームは、コンテナー化された環境のインスタンスには正しく接続できません。Compute サービスは「cryptsetup luksOpen」を実行します。この操作は、udev デバイスの作成プロセスが終了するのを待ちますが、そのプロセスは、実際には終了しないため、コマンドがハングしてしまいます。

回避策: docker のオプション「--ipc=host」を指定して、コンテナー化された Compute サービスを再起動してください。
BZ#1513109
POWER-8 (ppc64le) の Compute サポートがテクノロジープレビューとして提供されるようになりました。
BZ#1406102
director は、デプロイメントおよび更新段階中のカスタムネットワークの作成をサポートするようになりました。このような追加のネットワークは、専用のネットワークコントローラー、Ironic ベアメタルノード、システム管理に使用したり、異なるロール用に別のネットワークを作成するのに使用したりすることができます。

デプロイされるネットワークの一覧は、単一のデータファイル (「network_data.yaml」) で管理されます。ロールの定義プロセスはその設定を使用して、ネットワークを必要なロールに割り当てます。
BZ#1418433
本リリースでは、OpenStack File Share サービス (manila) のコンテナー化されたデプロイメントはテクノロジープレビューとして提供されています。Manila、Cinder、Neutron は、デフォルトでは引き続きベアメタルマシンにデプロイされます。
BZ#1484467
ベアメタルマシン上で Cinder サービスを実行して、コンテナー内で Iscsid サービスを実行すると、それらのサービスの iSCSI Qualified Name (IQN) 値が異なっていました。IQN は iSCSI 接続の認証に使用されるので、Cinder のバックアップ操作は、IQN の不一致が原因の認証エラーで失敗していました。

今回の修正により、Iscsid サービスはベアメタルで実行されるようになり、コンテナー化された Nova やコンテナー化されていない Cinder などのその他のサービスは、正しい IQN を使用するように設定されます。
BZ#1486995
Image サービス (glance) に NFS バックエンドを使用する場合には、イメージの作成を試みるとパーミッションエラーで操作が失敗します。これは、ホストとコンテナーのユーザー ID が異なるためです。また、puppet がコンテナー上では NFS エンドポイントを正常にマウントできないことも原因です。
BZ#1489484
以前のリリースでは、ceph-osd パッケージは共通のオーバークラウドイメージの一部でしたが、Ceph OSD エンタイトルメントが必要なリポジトリーでのみで提供されていました。このエンタイトルメントは、OpenStack のコントローラーノードとコンピュートノードでは必要ありません。ceph-osd エンタイトルメントがない状態で ceph-osd パッケージの更新を試みると、ceph-osd からの RPM 依存関係が原因で yum update は失敗していました。

今回の修正により、ceph-osd パッケージは、そのパッケージを必要としないオーバークラウドノードからは削除されます。ceph-osd パッケージは、Ceph OSD と Compute サービスを実行するハイパーコンバージドノードを含む Ceph Storage ノードでのみ必要となりました。ceph-osd パッケージを必要としないノードでは、yum update が正常に実行できるようになりました。ceph-osd を必要とする Ceph Storage とハイパーコンバージドノードには、Ceph OSD エンタイトルメントは現在も必要です。

openstack-tripleo-puppet-elements

BZ#1270860
テンプレート内のハードコーディングされたマシン ID を使用すると、全く同じマシン ID の付いたノードが複数作成されるため、Red Hat Storage Console は複数のノードを識別できなくなります

回避策: 各ノードで一意のマシン ID を生成してから、/etc/machine-id ファイルを更新してください。これによって、Red Hat Storage Console は一意のノードを識別することができるようになります。
BZ#1384845
オーバークラウドのイメージに、バージョン 2.7.1-4 未満の 「tuned」 が同梱されている場合には、「tuned」 パッケージの更新をそのオーバークラウドに手動で適用する必要があります。「tuned」バージョンが 2.7.1-4 以降の場合には、「tuned」にコアの一覧を提供してプロファイルをアクティブ化する必要があります。以下に例を示します。

# echo "isolated_cores=2,4,6,8,10,12,14,18,20,22,24,26,28,30" >> /etc/tuned/cpu-partitioning-variables.conf
# tuned-adm profile cpu-partitioning

これは、Centos のリポジトリーで「tuned」のパッケージが提供されるようになるまでは既知の問題です。

openstack-tripleo-ui

BZ#1383576
今回の更新により、director UI を使用した「ノードの管理」のアクションが追加されました。このアクションにより、ノードは「管理可能」な状態となり、director の UI でイントロスペクションを実行することができます。
BZ#1430885
今回の更新により、デプロイメントのプログレスバーの粒度が高くなりました。これは、スタックリソースを取得する入れ子のレベルを増やすことによって実現しました。この変更で、より正確な デプロイメントの進捗状況が提供されるようになりました。

openstack-tripleo-validations

BZ#1301549
今回の更新で、オーバークラウドのネットワーク環境をチェックするための新しい検証機能が追加されました。これは、オーバークラウドのデプロイ時に IP アドレス、VLAN、割り当てプールの競合を防ぐのに役立ちます。
BZ#1368512
今回の更新により、デプロイまたはアップグレード前にアンダークラウド上のハードウェアリソースを検証する新機能が追加されました。この検証により、アンダークラウドが必要なディスク容量とメモリーの要件を満たしているかどうかをデプロイ/アップグレードの前に確認できます。

puppet-ironic

BZ#1489192
以前のリリースでは、Ironic Inspector 用の DHCP サーバー設定ファイルは UEFI および iPXE を使用するホストは処理しなかったため、一部の UEFI および iPXE ホストは Ironic のイントロスペクション中にブートに失敗していました。今回の修正により、DHCP サーバーファイル「/etc/ironic-inspector/dnsmasq.conf」が更新され、UEFI および iPXE のホストを処理するようになったので、ホストは Ironic のイントロスペクション中に適切にブートできるようになりました。

puppet-keystone

BZ#1404324
トークンをフラッシュする cron ジョブが変更され、日次ではなく毎時に実行されるようになりました。この設定は、大型のデプロイメントではトランザクションがあまりにも大量で、操作にかかる時間が長くなり過ぎて失敗することもあり、問題が生じたために変更されました。これは、UUID トークンプロバイダーを使用するデプロイメントのみが影響を受ける点に注意してください。

puppet-tripleo

BZ#1463355
TLS Everywhere を有効にすると、HAProxy の統計インターフェースにも TLS が使用されます。その結果、個別のノードの ctlplane アドレスを介してインターフェースにアクセスする必要があります。これは、実際の IP アドレスまたは FQDN のいずれかです ({node-name}.ctlplane.{domain} の形式を使用。例: overcloud-controller-0.ctlplane.example.com)。この設定値は、「tripleo-heat-templates」の「CloudNameCtlplane」パラメーターで設定することができます。HAproxy クラスの「haproxy_stats_certificate」パラメーターを引き続き使用可能で、設定されている場合には優先される点に注意してください。
BZ#1479751
Nova と Cinder に最近加えられた変更によって、TripleO が Barbican をデプロイしない場合でも Barbican がデフォルトの暗号鍵マネージャーとして選択されるようになりましたが、TripleO は、Barbican をデプロイしない場合にはレガシー (固定鍵) のマネージャーがアクティブで選択されていることを前提とするので、Barbican をデプロイしない場合には、ボリュームの暗号化で問題が発生していました。今回の修正により、TripleO の動作が変更され、Nova と Cinder をアクティブに設定して、Barbican を使用しないデプロイメントにはレガシーの鍵マネージャーを使用するようになりました。

python-glance-store

BZ#1293435
Glance を使用した Cinder ボリュームとの間でのアップロードとダウンロードが Cinder バックエンドドライバーでサポートされるようになりました。

注記: 今回の更新には、Ceph RBD のサポートは含まれていません。Ceph ボリュームで RBD 操作を実行するには、Ceph バックエンドドライバーを使用してください。

python-openstackclient

BZ#1478287
Neutron のセキュリティーグループの一覧を表示する際に、プロジェクトのコラムはプロジェクト ID の代わりにテナント ID が参照していました。このため、プロジェクトのコラムは空白で表示されていました。今回の変更で、この操作の動作が変更され、プロジェクト ID が取得されるようになったので、Neutron のセキュリティーグループの一覧には適切なプロジェクト ID がプロジェクトのコラムに表示されるようになりました。

python-os-brick

BZ#1503259
Python os.path.realpath メソッドの競合により、予期せぬ例外が発生して、iSCSI の切断メソッドが予期せずに失敗していました。今回の修正により、競合の例外は無視されるようになりました。シンボリックリンクが存在しなくなり、この例外を無視しても安全となったことが理由です。その結果、競合が発生している場合でも、切断の操作は正常に実行されるようになりました。

python-tripleoclient

BZ#1385347
「openstack overcloud deploy」コマンドの「--controller-count」オプションは、「NeutronDhcpAgentsPerNetwork」パラメーターを設定します。OpenStack Networking (neutron) DHCP エージェントをホストするカスタムの Networker ロールをデプロイする際には、「NeutronDhcpAgentsPerNetwork」パラメーターが正しい値に設定されない可能性があります。回避策として、環境ファイルを使用して「NeutronDhcpAgentsPerNetwork」パラメーターを手動で設定します。以下に例を示します。

----
parameter_defaults:
  NeutronDhcpAgentsPerNetwork: 3
----

これで「NeutronDhcpAgentsPerNetwork」は正しい値に設定されます。

qemu-kvm-rhev

BZ#1498155
以前のリリースでは、vhost ネットワークデバイスをホットアンプラグした後に Virtual Function I/O (VFIO) デバイスのホットアンプラグを実行すると失敗していました。今回の更新により、原因となっているコードが修正され、そのような状況でも VFIO デバイスが適切にアンプラグされるようになりました。