Red Hat Training

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

4.6. RHBA-2018:3587: Red Hat OpenStack Platform 13.0 director のバグ修正アドバイザリー

本項に記載するバグは、アドバイザリー RHBA-2018:3587 で対応しています。このアドバイザリーについての詳しい情報は、RHBA-2018:3587 - Bug Fix Advisory を参照してください。

instack-undercloud

IPMI bootdev コマンドを受け取ると、一部のハードウェアでブートデバイスの順序が意図せず変わっていました。そのため、ノードが正しい NIC から起動しなくなったり、PXE がまったく起動しなくなったりすることがありました。本リリースで、ipmi ドライバーに新たな noop 管理インターフェイスが追加されました。このドライバーを使用すると bootdev コマンドは発行されず、現在の起動順が使用されます。ノードは、正しい NIC から PXE ブートを試み、その後ローカルのハードドライブにフォールバックするように設定する必要があります。今回の変更で導入された新たな管理インターフェイスにより、事前に設定された起動順が必ず維持されます。

以前のバージョンでは、オーバークラウドと同様に、アンダークラウド hieradata のオーバーライド値を使用して <service>::config オプションにより一部のサービス設定をチューニングすることができました。ただし、この機能はデプロイされたすべての OpenStack サービスで利用可能なわけではありませんでした。今回のバージョンでは、現在利用できないあらゆる設定値を、<service>::config hieradata により更新することができるようになりました。

openstack-tripleo-common

Red Hat OpenStack Platform 12 を 13 にアップグレードする際に、ceph-osd パッケージが削除されます。パッケージが削除されると、コンテナーで動作中であっても OSD が停止していました。本リリースで、アップグレード中にパッケージを削除する Playbook が削除され、アップグレード中 Ceph OSD が意図せず停止することがなくなりました。

OpenStack が更新またはアップグレードされると、director は最新の amphora イメージを glance にアップロードします。最新の amphora イメージにより、最新の一般バグ修正およびセキュリティー上の修正が適用された状態で amphora インスタンスが実行されます。これには、Octavia エージェントに関する修正だけでなく、オペレーティングシステムに関する修正も含まれます。

今回のリリースで、新たに作成される amphora インスタンスおよび再作成される amphora インスタンスに、最新の amphora イメージが使用されるようになりました。それまでの amphora イメージは、名前を変更して (接尾辞にタイムスタンプを追加) 引き続き glance に保管されます。

openstack-tripleo-heat-templates

publicURL keystone エンドポイントに接続されたインスタンス HA スクリプトの 1 つ。これが、デフォルトで internalURL エンドポイントに移されています。また、nova.conf の[placement]/valid_interfaces 設定エントリーポイントにより、オペレーターはこの設定をオーバーライドすることができます。

本リリース以前は、オンラインデータ移行のトリガーがありませんでした。OSP 13 へのアップグレード後、オーバークラウドの nova、cinder、および ironic のオンラインデータ移行は自動的には実施されないので、手動での対応が必要でした。今回のリリースで、オンラインデータ移行のトリガーに関するロジックが追加されました。OSP 13 にアップグレードする際、openstack overcloud upgrade converge コマンドの実行時にオンラインデータ移行がトリガーされます。

本リリース以前は、nova::compute::libvirt::rx_queue_size/nova::compute::libvirt::tx_queue_size を使用して受送信キューのサイズを設定することができました。しかし、専用の TripleO heat テンプレートパラメーターはありませんでした。今回のリリースで、以下のようにロールベースで受送信キューのサイズを設定できるようになりました。

parameter_defaults: ComputeParameters: NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024

結果的に、rx_queue_size/tx_queue_size は新たなパラメーターを使用して設定されます。

OpenStack director の一部として MTU を設定するために、本リリースでは NeutronML2PhysicalNetworkMtus として neutron::plugins::ml2::physical_network_mtus が heat テンプレートに追加され、ml2 プラグインの MTU が有効化されるようになりました。neutron::plugins::ml2::physical_network_mtus は、TripleO heat テンプレートからの値を元に設定されます。

本バージョン以前は、Docker デーモンに再起動が必要かどうかを判断する条件が非常に厳格でした。そのため、Docker 設定の変更や Docker RPM の更新があるたびに、Docker デーモンおよびすべてのコンテナーは再起動されていました。今回のリリースで条件が緩和され、コンテナーが不必要に再起動されなくなりました。設定の変更にはライブリストア機能を使用してください。これにより、Docker RPM の更新時には Docker デーモンおよびすべてのコンテナーは再起動されますが、Docker 設定の変更時には再起動されません。

設定変更が一切ない状況でも、再デプロイ時に多くのコンテナーが不必要に再起動される場合がありました。これは、設定ファイルの md5 変換に多くの不要なファイルが含まれているためでした。今回のリリースで、再デプロイ時にコンテナーが不必要に再起動されなくなりました。

TripleO CinderNetappBackendName パラメーターが、cinder の Netapp バックエンドのデフォルト値を正しくオーバーライドしませんでした。そのため、cinder の Netapp バックエンドに関連付けられた名前がオーバーライドできませんでした。今回のリリースで、CinderNetappBackendName パラメーターがデフォルトのバックエンド名を正しくオーバーライドするようになりました。

puppet-cinder

さまざまな設定設定が cinder から削除されましたが、対応するパラメーターは、cinder 設定設定のための TripleO Puppet モジュールから削除されませんでした。そのため、無効な cinder 設定設定が cinder.conf に追加されていました。今回のリリースで Puppet モジュールが更新され、非推奨の設定が cinder.conf に追加されなくなりました。

注記

更新された Puppet モジュールにより、それまでに cinder.conf に追加された非推奨の設定が削除されることはありません。非推奨の設定は手動で削除する必要があります。

puppet-tripleo

システムのシャットダウン時に rhel-plugin-push.service と Docker サービスが正常に連携しないため、コントローラーのリブートに長時間を要していました。今回のリリースで、これらの 2 つのサービスに対して正しいシャットダウン順序が強制的に適用されるようになりました。これで、コントローラーのリブート時間が短縮されました。

デプロイメント中、コントローラー 3 つのうちの 2 つで、OVS スイッチに誤った OpenFlow コントローラーポート (6653 ではなく 6640) が設定される場合がありました。これにより、デプロイメントの失敗や、デプロイメント後の機能不良 (誤ったフローがスイッチにプログラムされる) が生じていました。今回のリリースで、それぞれの OVS スイッチについて、すべての OpenFlow コントローラーポートが正しく 6653 に設定されるようになりました。すべての OVS スイッチが 3 つの URI で設定される正しい OpenFlow コントローラー設定を持ち、OpenDaylight はポート 6653 をリッスンします。

1 つの OpenDaylight インスタンスがクラスターから削除されると、インスタンスが分離された状態になり、着信リクエストに対応しなくなります。しかし、HA Proxy は分離された OpenDaylight インスタンスに対してリクエストの負荷分散を続けるため、OpenStack ネットワークコマンドの失敗や、機能不良が生じる場合がありました。HA Proxy が、分離された OpenDaylight インスタンスを異常な状態と識別するようになりました。HA Proxy は分離された OpenDaylight にリクエストを転送しません。

python-os-brick

特定の状況下で、FibreChannel HBA ホストのスキャンに関する os-brick コードが無効な値を返すことがありました。そのため、cinder および nova 等のサービスが失敗していました。今回のリリースで、FibreChannel HBA スキャンコードが常に有効な値を返すようになりました。FibreChannel HBA ホストをスキャンする際に、cinder および nova はクラッシュしなくなりました。

マルチパス接続の場合、接続が解除される際に、すべてのパスについてデバイスが個別にフラッシュされます。特定のケースでは、あるデバイスのフラッシュ失敗により、接続が解除できない場合があります。マルチパスをフラッシュすることでバッファーされたデータが必ずリモートデバイスに書き込まれるので、今回のリリースで個々のパスはフラッシュされなくなりました。実際にデータを喪失した場合に限り、接続の解除に失敗するようになりました。

multipathd show status が返すべきエラーコードを返さない状況があります。したがって、multipathd がエラー状態にあることを正しく検出するために、この問題の回避策として stdout を確認しています。

本リリース以前は、移行開始時の短時間に単一の iSCSI パスが失敗すると、ボリュームの移行に失敗していました (VolumePathNotRemoved エラー)。今回のリリースでは、ボリューム削除の確認がタイムアウトするまでの時間を延長して問題を解決しています。

iSCSI デバイスの検出では、再スキャンの時間を元にデバイスの有無を確認していました。したがって、スキャンとスキャンの間に利用可能になるデバイスは検出されませんでした。今回のリリースでは、検索と再スキャンは異なるリズムで動作する独立した操作になり、1 秒ごとに確認が行われます。

python-tripleoclient

本リリース以前は、カスタムプランを使用すると (デプロイコマンドラインの-p オプションを使用)、既存オーバークラウドの再デプロイメント時に多くのパスワード (mysql、horizon、pcsd 等) が新しい値にリセットされていました。このため、再デプロイメントに失敗していました。今回のリリースで、カスタムプランが原因で新しいパスワードが設定されることがなくなりました。