第4章 テクニカルノート
4.1. RHEA-2016:2948 — Red Hat OpenStack Platform 10 の機能拡張についての最新情報
instack-undercloud
- BZ#1266509
以前のリリースでは、instack-undercloud はサブネットマスクが「local_ip」パラメーターに指定されていることを検証しなかったため、誤って /32 マスクが使用されていました。そのため、このような状況ではアンダークラウドでネットワークが正しく機能しませんでした (例: イントロスペクションが機能しないなど)。今回の更新により、instack-undercloud は正しいサブネットマスクが指定されていることを検証するようになりました。
- BZ#1289614
今回の更新の以前は、期限切れのトークンを Identity サービス (keystone) のデータベースから定期的に削除するための自動プロセスがありませんでした。そのため、keystone のデータベースが拡大し続けて膨大なサイズとなり、ディスクスペースをすべて使い果たしてしまう可能性がありました。 今回の更新により、keystone データベースに対して定期クエリーを 1 日に 1 回実行し、期限切れのトークンを削除するための crontab エントリーが追加されました。その結果、期限切れのトークンによって keystone データベースのサイズが無制限に拡大してしまうことはなくなりました。
- BZ#1320318
以前のリリースでは、Bare Metal Provisioning サービス (ironic) の「pxe_ilo」ドライバーは UEFI 対応のハードウェアを検出すると、環境で UEFI がサポートされていない場合でも自動的に UEFI ブートに切り替えていました。 そのため、環境が UEFI をサポートしていない場合には、pxe_ilo ドライバーを使用するとデプロイメントプロセスが失敗していました。 今回の更新により、pxe_ilo ドライバーはデフォルトで BIOS ブートモードに設定され、pxe_ilo を使用したデプロイメントは、UEFI が適切に設定されているかどうかに拘らず、追加の設定なしに正常に機能するようになりました。
- BZ#1323024
puppet のマニフェストのバグが原因で、アンダークラウドのインストールプロセス中に LVM パーティションの自動マウントが誤って無効化されていました。その結果、root および swap 以外のパーティションを使用する (カーネルコマンドラインでアクティブ化された) アンダークラウドホストは、緊急シェルでしかブートできない可能性がありました。 この問題を回避するには、複数の方法があります。以下のいずれかを選択してください。 1. /etc/fstab からマウントポイントを手動で削除します。この方法は、今後いかなる場合においても問題の発生を防ぐことができます。他のパーティションを削除して、別のパーティション (root または swap) にスペースを追加することも可能です。 2. アクティブ化するパーティションを /etc/lvm.conf で設定します。この方法は、次回の更新/アップグレードでアンダークラウドのインストールが再実行されるまで機能します。 3. 初回のデプロイメントを root と swap パーティションに限定します。この方法は、問題を完全に回避することができます。
- BZ#1324842
以前のリリースでは、director により自動生成される「readonly_user_name」(/etc/ceilometer/ceilometer.conf) の値が 32 文字を超えていました。その結果、アップグレード中に ValueSizeConstraint エラーが発生していました。今回のリリースでは、director がデフォルトで「readonly_user_name」を「ro_snmp_user」に設定し、文字数制限が順守されるようになりました。
- BZ#1355818
以前のリリースでは、swift のプロキシーパイプラインの設定が誤っていたため、swift のメモリー使用量は、swift が強制終了されるまで拡大し続けていました。今回の修正により、swift のプロキシーパイプラインの早期に proxy-logging が設定され、swift のメモリー使用量は拡大し続けないようになりました。
mariadb-galera
- BZ#1375184
Red Hat Enterprise Linux 7.3 では、シェルスクリプトで使用される「systemctl is-enabled」コマンドが返す出力の形式が変更されたため、mariadb-galera RPM パッケージのインストール時には、MariaDB サービスが実際には有効化されていない場合でも有効化されているものとして誤って検出されていました。その結果、Red Hat OpenStack Platform のインストーラーは、systemd ではなく Pacemaker を使用して mariadb-galera の実行を試みるため、Galera の起動に失敗していました。今回の更新により、mariadb-galera の RPM インストールスクリプトは異なる systemctl コマンドを使用するようになり、デフォルトの MariaDB が無効化されているものとして正しく検出されて、インストーラーを正常に実行できるようになりました。
- BZ#1373598
以前のリリースでは、「mariadb-server」と「mariadb-galera-server」の両方のパッケージに、クライアントで使用するライブラリー (「dialog.so」と「mysql_clear_password.so」) が同梱されていました。その結果、「mariadb-galera-server」のパッケージは、パッケージの競合によりインストールに失敗していました。 今回の更新では、「dialog.so」と「mysql_clear_password.so」のライブラリーは「mariadb-galera-server」から「mariadb-libs」に移動されたため、「mariadb-galera-server」パッケージは正常にインストールできるようになりました。
openstack-gnocchi
- BZ#1377763
Gnocchi 2.2 では、ジョブのディスパッチは Redis を使用してコントローラー間で調整されるようになったため、Telemetry の計測値の処理の改善を期待できるようになりました。
openstack-heat
- BZ#1349120
今回の更新の以前は、Heat は「FloatingIP」リソースが実際にはまだ削除中であるのに、削除済みと見なす場合がありました。そのため、「FloatingIP」はまだ存在しているので、「FloatingIP」が依存するリソースの削除が失敗することがありました。 今回の更新で、Heat はリソースが削除されたものと見なす前に「FloatingIP」が存在しないことを確認するようになり、スタックの削除は正常に続行されるはずです。
- BZ#1375930
以前のリリースでは、「str_replace」組み込み関数は、置き換える各文字列に対して Python「str.replace()」メソッドを呼び出すことによって機能していました。そのため、ある置換の置換テキストに、置換すべき別のテキストが含まれている場合には、置換テキスト自体が置き換えられてしまう場合がありました。置き換えの順序は保証されなかったので、結果が不明確となっていました。そのため、ユーザーはガード文字列などのテクニックの使用には注意を払って、誤解がないようにする必要があります。 今回の更新により、置き換えは単一パスで実行され、元のテキストのみが置き換えの対象となるようになりました。 その結果、「str_replace」の出力は明確となり、ガード文字列を使用しない場合でも、ユーザーの想定と一致するようになりました。入力でキーが重複した場合には、一致がより長い方が優先され、あいまいさが依然としてある場合には、辞書学上短い文字列が最初に置き換えられます。
- BZ#1314080
今回の機能拡張により、「heat-manage」が「heat-manage reset_stack_status」サブコマンドをサポートするようになりました。このサブコマンドは、「heat-engine」がデータベースと通信できないために、進行中のスタックがそのままで停止してしまう状況に対応するために追加されました。この問題が発生した場合には、管理者がステータスをリセットして、スタックが再度更新できるようにする方法が必要でした。 この機能が拡張された結果、管理者は「heat-manage reset_stack_status」コマンドで進行中の状態で停止したスタックをリセットすることができるようになりました。
openstack-ironic
- BZ#1347475
今回の更新により、IPMItool ドライバー向けに socat ベースのシリアルコンソールが追加されました。これは、ユーザーが仮想ノードのコンソールにアクセスするのと同じ方法でベアメタルノードのシリアルコンソールにアクセスする必要がある場合があるために追加されました。その結果、新しいドライバー「pxe_ipmitool_socat」が追加され、「socat」ユーティリティーを使用したシリアルコンソールがサポートされるようになりました。
- BZ#1310883
Bare Metal Provisioning サービスは、パーティショニングおよびイメージの書き込みを実行する前に、ディスクのメタデータをワイプするようになりました。これにより、新規イメージは通常どおりに起動します。以前のリリースでは、Bare Metal Provisioning サービスは、デバイスで操作を開始する前に、古いメタデータを削除しなかったため、デプロイが失敗することがありました。
- BZ#1319841
openstack-ironic-conductor サービスは、「enabled_drivers」オプションで指定されている全ドライバーが一意かどうかを確認するようになりました。このサービスは、重複したエントリーを削除して、警告をログに記録します。以前のリリースでは、「enabled_drivers」オプションで重複したエントリーがある場合には単に openstack-ironic-conductor サービスでエラーが発生していたため、Bare Metal Provisioning サービスはドライバーをロードすることができませんでした。
- BZ#1344004
以前のリリースでは、「ironic-conductor」は「python-neutronclient」に対して認証トークンを正しく渡しませんでした。その結果、自動ノードクリーニングで切断のエラーが発生していました。 今回の更新により、OpenStack Bare Metal Provisioning サービス (ironic) は、直接 Identity サービスのクライアントオブジェクトを構築するのではなく、「keystoneauth」セッションを使用するように移行されました。その結果、ノードはクリーニングの後に正常に切断できるようになりました。
- BZ#1385114
デプロイ中のノードを特定するには、デプロイ用 ramdisk (IPA) が Bare Metal Provisioning サービスにそのノードの一意識別子として MAC アドレスの一覧を提供します。以前のリリースでは、Bare Metal Provisioning サービスは通常の MAC アドレス形式 (6 オクテット) のみを想定していましたが、Infiniband NIC の GID は 20 オクテットであるため、Infiniband NIC がノードで提示されると、Bare Metal Provisioning API は MAC アドレスを正しく検証できなかったため、デプロイは失敗していました。 今回のリリースで。Bare Metal Provisioning サービスは通常の 6 オクテットの形式に準拠しない MAC アドレスを無視するようになりました。
- BZ#1387322
今回のリリースでは、不必要な「dhcp」コマンドがデプロイメント/イントロスペクション用の iPXE テンプレートから削除されました。場合によっては、この不要なコマンドによって IP アドレスを受信するために誤ったインターフェースが使用されていました。
openstack-ironic-inspector
- BZ#1323735
以前のリリースでは、tarfile の作成時に、IPA RAM ディスクのログに変更日が設定されていませんでした。その結果、イントロスペクションログに変更日が 1970-01-01 と記録されていたため、ファイルの抽出時に GNU tar が警告を表示していました。 今回の更新により、tarfile の作成時には変更日が適正に設定されるようになりました。タイムスタンプは正しく記録され、GNU tar は警告を表示しなくなりました。
openstack-ironic-python-agent
- BZ#1393008
今回のリリースは、より徹底したエラーチェックと LLDP 検出に関連する処理を特徴としています。この機能拡張は、無効なパッケージで LLDP の検出が失敗するのを防ぎます。また、LLDP の検出が失敗しても、イントロスペクションプロセス全体が失敗することはなくなりました。
openstack-manila
- BZ#1380482
今回の更新の以前は、CephFS ドライバーは、Ceph サーバーに接続可能かどうかをチェックしませんでした。 そのため、Ceph サーバーへの接続が機能しない場合には、「manila-share」サービスはタイムアウトせずにクラッシュまたは再起動を繰り返していました。 今回の更新により、Manila CephFS ドライバーの初期時に Ceph への接続を確認するチェックが行われるようになりました。その結果、Ceph ドライバーはドライバーの初期化時に Ceph の接続を確認し、接続に失敗した場合には、ドライバーは初期化されず、それ移行のステップは実行されないようになりました。
openstack-neutron
- BZ#1381620
以前のリリースでは、WSGI サーバーによって随時に開くことのできるクライアント接続の最大数 (1 回に起動する greenlets の数) は、「wsgi_default_pool_size」で 100 に設定されていました。この設定は OpenStack Networking API サーバーには適切でしたが、状態変更サーバーにより、L3 エージェントにおける CPU の負荷が高くなり、エージェントがクラッシュする原因となっていました。 今回のリリースでは、新たな「ha_keepalived_state_change_server_threads」設定を使用して状態変更サーバーのスレッド数を設定することができます。クライアントの接続は、「wsgi_default_pool_size」により限定されなくなり、状態変更サーバーのスレッドが多数起動した際に、L3 エージェントがクラッシュしないようになりました。
- BZ#1382717
以前のリリースでは、「vport_gre」カーネルモジュールは Red Hat Enterprise Linux 7.3 の「ip_gre」カーネルモジュールに依存していました。「ip_gre」モジュールは、「gre0」および「gretap0」という 2 つの新しいインターフェースを作成していました。これらのインターフェースは名前空間ごとに作成され、削除はできませんでした。その結果、「neutron-netns'cleanup」が名前空間のクリーンアップ中に全インターフェースを削除する際に「gre0」と「gretap0」は削除できませんでした。そのため、インターフェースが残っていることが原因でネットワーク名前空間が削除できませんでした。 今回の更新により、「gre0」と「gretap0」のインターフェースはインターフェースのホワイトリストに追加され、名前空間にインターフェースがあるかどうかをチェックする際には無視されるようになりました。その結果、ネットワークの名前空間に「gre0」と「gretap0」のインターフェースが含まれている場合でも、その名前空間は削除されるようになりました。
- BZ#1384334
今回のリリースでは、OpenStack Networking API の前に HTTPProxyToWSGI ミドルウェアが追加され、クライアントとサーバーの間でプロキシー (例: HAProxy) が使用されている場合に要求 URL を正しく設定するようになりました。これにより、クライアントが SSL を使用する場合には、サーバーがこれを認識して、正しいプロトコルを使用して応答します。以前のリリースでは、プロキシーを使用すると、クライアントが SSL を使用している場合でも、サーバーは (HTTPS の代わりに) HTTP を使用して応答が可能でした。
- BZ#1387546
以前のリリースでは、OpenStack Networking の OVS エージェントは、サブプロセスが適切に実行されなかった場合に、翻訳されていない文字列を翻訳済みの UTF-16 の文字列と比較していました。英語以外のロケールでは、これにより例外が発生し、インスタンスが起動できなくなっていました。 この問題に対処するために、文字列ではなく失敗したサブプロセスで実際に戻り値に応じてエラーチェックが行われるように更新されました。これにより、英語以外のロケールでも、サブプロセスのエラーが適切に処理されるようになりました。
- BZ#1325682
今回の更新で、IP トラフィックは QoS ポリシーにアタッチされた DSCP マーキングルールによって管理できるようになりました。このポリシーは、ネットワークとポートに適用されます。 これは、特にリアルタイムの情報やクリティカルな制御データを処理する場合に、トラフィックソースによって、ネットワークレベルで必要とされる優先順位のレベルが異なる場合があるために追加されました。その結果、特定のポートとネットワークからのトラフィックは DSCP フラグでマークすることができるようになりました。本リリースでは、Open vSwitch のみがサポートされている点に注意してください。
openstack-nova
- BZ#1188175
今回の機能拡張により、仮想デバイスロールのタグ付けがサポートされるようになりました。この機能は、インスタンスのオペレーティングシステムに、そのインスタンスを実行している仮想デバイスについての追加情報が必要な場合があるために追加されました。たとえば、複数のネットワークインターフェースのあるインスタンスでは、適切にプロビジョニングするために、ゲストのオペレーティングシステムの用途を区別する必要があります。 今回の更新で、仮想デバイスロールのタグ付けにより、ユーザーはインスタンスの作成時に、仮想デバイスにタグを付けられるようになりました。これらのタグは、メタデータ API を使用して、コンフィグドライブ (有効化されている場合) を介して (他のデバイスメタデータとともに) インスタンスに提示されます。詳しい情報は、『Red Hat OpenStack Platform 10 ネットワークガイド』の「Use Tagging for Virtual Device Identification」の章を参照してください: https://access.redhat.com/documentation/en/red-hat-openstack-platform/
- BZ#1189551
今回の更新で、「リアルタイム」の機能が追加され、仮想 CPU で最悪の場合のスケジューラーのレイテンシーに対する保証が強化されました。この更新は、CPU 実行のレイテンシーに関するワークロードを実行する必要があり、リアルタイムの KVM ゲストの設定によって提供される保証を必要とするテナントを補助します。
- BZ#1233920
今回の機能拡張により、仮想デバイスロールのタグ付けがサポートされるようになりました。この機能は、インスタンスのオペレーティングシステムに、そのインスタンスを実行している仮想デバイスについての追加情報が必要な場合があるために追加されました。たとえば、複数のネットワークインターフェースのあるインスタンスでは、適切にプロビジョニングするために、ゲストのオペレーティングシステムの用途を区別する必要があります。 今回の更新で、仮想デバイスロールのタグ付けにより、ユーザーはインスタンスの作成時に、仮想デバイスにタグを付けられるようになりました。これらのタグは、メタデータ API を使用して、コンフィグドライブ (有効化されている場合) を介して (他のデバイスメタデータとともに) インスタンスに提示されます。詳しい情報は、『Red Hat OpenStack Platform 10 ネットワークガイド』の「Use Tagging for Virtual Device Identification」の章を参照してください: https://access.redhat.com/documentation/en/red-hat-openstack-platform/
- BZ#1263816
以前のリリースでは、nova ironic virt ドライバーは、デプロイメントが開始する前にインスタンスの UUID を Bare Metal Provisioning (ironic) ノードに書き込んでいました。UUID の書き込みとデプロイメントの起動の間に何らかのエラーが発生した場合に、Compute はインスタンスの起動に失敗した後でもそのインスタンスを削除しませんでした。その結果、Bare Metal Provisioning (ironic) ノードには、インスタンスの UUID セットが残ってしまい、別のデプロイメントでは選択されませんでした。 今回の更新により、デプロイメントのいずれかの段階でインスタンスの起動が失敗すると、ironic virt ドライバーはインスタンスの UUID を確実にクリーンアップするようになりました。その結果、ノードにはインスタンスの UUID セットが残らず、新規デプロイメントに選択されるようになりました。
openstack-puppet-modules
- BZ#1284058
以前のリリースでは、director を使用してデプロイされた Object Storage サービスは Red Hat OpenStack Platform 8 (liberty) 以降で非推奨となっている ceilometer ミドルウェアを使用していました。 今回の更新で、Object Storage サービスは修正され、本リリースでサポートされている python-ceilometermiddleware からの ceilometer ミドルウェアを使用するようになりました。
- BZ#1372821
以前のリリースでは、Time Series Database-as-a-Service (gnocchi) API ワーカーは、単一プロセスとスレッドの論理 cpu_core カウントを使用するデフォルトでデプロイされるよう設定されていたため、httpd で実行中の gnocchi API は単一プロセスでデプロイされていました。 gnocchi では、ベストプラクティスとして、プロセス数とスレッド数を 1.5 * cpu_count に推奨しています。今回の更新で、ワーカーのカウントは max(($::processorcount + 0)/4, 2) となり、スレッドは 1 となりました。その結果、gnocchi API ワーカーは正しい数のワーカーとスレッドで実行されるようになり、パフォーマンスが向上しました。
openstack-tripleo-common
- BZ#1382174
以前のリリースでは、パッケージの更新で「DeployIdentifier」は更新されなかったため、コントローラー以外のノードで Puppet が実行されませんでした。 今回の更新により、「DeployIdentifier」の値がインクリメントされ、Puppet はコントローラー以外のノードで実行され、パッケージを更新するようになりました。
- BZ#1323700
以前のリリースでは、OpenStack director で、オペレーターがメジャーアップグレードの一環としてコントローラーノード以外のノードをアップグレードするためにアンダークラウドで使用する「upgrade-non-controller.sh」スクリプトは、「--query」オプションを使用した場合にアップグレードのステータスを報告しませんでした。その結果、「--query」は「-h」のヘルプテキストに記載されているとおりには機能しませんでした。 今回の更新で、「--query」オプションを使用した場合に、アップグレードのステータスとしてそのノードの「yum.log」ファイルの末尾数行が表示されるようになりました。また、このスクリプトで、このオプションの長いバージョンと短いバージョンの両方 (「-q」と「--query」) が受け入れられるようになりました。その結果、「upgrade-non-controller.sh」スクリプトはノードのアップグレードステータスを少なくともある程度表示するように改善されました。
- BZ#1383627
「openstack baremetal import --json instackenv.json」を使用してインポートしたノードは、インポートを試みる前に電源をオフにする必要があります。ノードの電源がオンの場合には、Ironic はノードの追加やイントロスペクションを試みません。 この回避策として、「openstack baremetal import --json instackenv.json」を実行する前に全オーバークラウドノードの電源をオフにすることができます。 その結果、ノードの電源がオフになっている場合にはインポートが正常に機能するはずです。
openstack-tripleo-heat-templates
- BZ#1262064
スタックデプロイメントの起動時に Heat の環境ファイルを使用して、オーバークラウドに「cinder-backup」をデプロイすることが可能となりました。「cinder-backup」を有効にするこの環境ファイルは、/usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml です。「cinder-backup」サービスは最初にバックエンドとして Swift または Ceph の使用をサポートします。「cinder-backup」サービスは、ボリュームの保管先とは異なるバックエンド上の Cinder ボリュームのバックアップを実行します。「cinder-backup」サービスは、デプロイ時に追加されている場合には、オーバークラウド内で実行されます。
- BZ#1282491
今回の更新の以前には、RabbitMQ のオープンファイル記述子の最大値は 4096 に設定されていました。そのため、大型のデプロイメントを使用している場合にこの上限に達して、安定性で問題が生じる可能性がありました。今回の更新により、RabbitMQ のオープンファイル記述子の上限が 65536 に拡張されました。その結果、大型のデプロイメントでこの問題が発生する可能性が極めて低くなりました。
- BZ#1242593
今回の機能拡張により、OpenStack Bare Metal Provisioning サービス (ironic) をオーバークラウドにデプロイしてベアメタルインスタンスのデプロイメントをサポートできるようになりました。この機能はオーバークラウドにベアメタルインスタンスをデプロイする必要がある場合があるために追加されました。 その結果、Red Hat OpenStack Platform director はオプションで Bare Metal Provisioning サービスをデプロイしてオーバークラウドでベアメタルインスタンスをプロビジョニングできるようになりました。
- BZ#1274196
今回の更新により、オーバークラウドのコントローラーノード上の iptables ファイアウォールが有効化されてセキュリティーが強化されました。その結果、必要なポートが開放され、オーバークラウドは以前のとおりに機能し続けます。
- BZ#1290251
今回の更新で、オーバークラウドからモニタリングインフラストラクチャーへの接続を有効にする新機能により、オーバークラウドノードに可用性管理エージェント (sensu-client) がデプロイされるようになりました。 モニタリングエージェントのデプロイメントを有効にするには、「/usr/share/openstack/tripleo-heat-templates/environments/monitoring-environment.yaml」という環境ファイルを使用して、以下のパラメーターをその YAML 設定ファイルに指定します。 MonitoringRabbitHost: モニタリングを目的とする RabbitMQ インスタンスを実行するホスト MonitoringRabbitPort: モニタリングを目的とする RabbitMQ インスタンスが実行されるポート MonitoringRabbitUserName: RabbitMQ インスタンスに接続するためのユーザー名 MonitoringRabbitPassword: RabbitMQ インスタンスに接続するためのパスワード MonitoringRabbitVhost: モニタリング目的で使用される RabbitMQ vhost
- BZ#1309460
director を使用して Ceph RadosGW をオブジェクトストレージのゲートウェイとしてデプロイできるようになりました。そのためには、オーバークラウドのデプロイメントに /usr/share/openstack-tripleo-heat-templates/environmens/ceph-radosgw.yaml を追加します。この Heat テンプレートを使用する場合には、デフォルトの Object Storage サービス (swift) はデプロイされません。
- BZ#1325680
通常、OpenStack における OVS+DPDK の設定は、オーバークラウドのデプロイ後に手動で実行されます。これは、多数のコンピュートノードが対象となる場合にはオペレーターにとって非常に困難で、退屈な作業となる可能性がありました。今回の更新により OVS+DPDK のインストールは tripleo で自動化されました。以前は手動で行われていた DPDK のハードウェア機能の特定は、イントロスペクション中に自動化されました。また、ハードウェアの検出により、Heat テンプレートの設定に必要な情報がオペレーターに提供されるようになりました。現在、DPDK 対応のハードウェアを搭載しているコンピュートノードと、DPDK 対応のハードウェアを搭載していないコンピュートノードを共存させることはできません。 「ironic」Python エージェントは以下のハードウェア情報を検出して swift のブロブに保管します。 * ヒュージページサポートの CPU フラグ: pse が存在する場合には 2 MB のヒュージページがサポートされ、pdpe1gb が存在する場合には 1 GB のヒュージページがサポートされます。 * IOMMU の CPU フラグ: VT-d/svm が存在する場合には IOMMU がサポートされます。ただし、BIOS で IOMMU サポートが有効化されていることが条件です。 * 互換性のある NIC: DPDK にホワイトリストされている NIC の一覧 (http://dpdk.org/doc/nics に記載) と対照します。 上記の機能のいずれも搭載されていないノードは、DPDK を使用するコンピュートの役割には使用できません。 * オペレーターは、コンピュートノードで DPDK を有効にするためのプロビジョニングを使用することができます。 * コンピュート対応で DPDK NIC が搭載されていると確認されたノード向けのオーバークラウドイメージには、OVS の代わりに OVS+DPDK パッケージが使用されます。また、「dpdk」および「driverctl」のパッケージも含まれます。 * DPDK 対応の NIC のデバイス名は、T-H-T から取得されます。DPDK NIC の PCI アドレスは、デバイス名から識別される必要があります。これは、PCI のプロービング中に DPDK NIC をホワイトリストするのに必要です。 * ヒュージページは DPDK を使用するコンピュートノードで有効にする必要があります。 * DPDK Poll Mode Driver (PMD) に確保される CPU コアが一般のカーネルバランシングに使用されてアルゴリズムの処理とスケジューリングを中断しないようにするために、CPU を分離する必要があります。 * DPDK を有効にした NIC を使用する各コンピュートノードでは、puppet によってホワイトリストされた NIC の DPDK_OPTIONS、CPU マスク、および DPDK PMD のメモリーチャネル数が設定されます。DPDK_OPTIONS は /etc/sysconfig/openvswitch で設定する必要があります。 「Os-net-config」は以下のステップを実行します。 * 指定したインターフェースの pci アドレスを特定することにより、そのインターフェースを dpdk ドライバー (デフォルトは vfio-pci ドライバー) に関連付けます。ドライバーを永続的にバインディングするために driverctl が使用されます。 * ovs_user_bridge と ovs_dpdk_port のタイプを理解して、ifcfg スクリプトを適切に設定してください。 * 「タイプ」ovs_user_bridge は OVS タイプ OVSUserBridge と解釈され、これに基づいて OVS がデータパスタイプを「netdev」に設定します。 * 「タイプ」 ovs_dpdk_port は OVS タイプ OVSDPDKPort と解釈され、これに基づいて OVS がインターフェースタイプを「dpdk」としてポートをブリッジに追加します。 * ovs_dpdk_bond を理解して ifcfg スクリプトを適切に設定します。 DPDK を有効にした NIC を使用する各コンピュートノードで puppet により以下のステップが実行されます。 * /etc/neutron/plugins/ml2/openvswitch_agent.ini [OVS] datapath_type=netdev vhostuser_socket_dir=/var/run/openvswitch での OVS+DPDK の有効化 * qemu により所有される /var/run/openvswitch での vhostuser ポートの設定 各コントローラーノードで puppet により以下のステップが実行されます。 * nova.conf で NUMATopologyFilter を scheduler_default_filters に追加します。 その結果、上記の機能拡張されたプラットフォームの認識の自動化が完了し、QA テストで検証されます。
- BZ#1337782
今回のリリースは、コンポーザブルロールを特徴としており、TripleO はコンポーザブルな方法でデプロイ可能となりました。これにより、各ノードで実行する必要のあるサービスをユーザーが選択することができるので、複雑なユースケースをより多くサポートできます。
- BZ#1337783
ハードウェアのプロビジョニング段階に汎用ノードをデプロイできるようになりました。これらのノードは、汎用オペレーティングシステム (Red Hat Enterprise Linux) を使用してデプロイされ、ユーザーはそれらのノードに直接、追加のサービスをデプロイすることができます。
- BZ#1381628
https://bugs.launchpad.net/tripleo/+bug/1630247 に記載されているように、アップストリームの Newton TripleO では Sahara サービスがデフォルトで無効化されましたが、Red Hat OpenStack Platform 9 から Red Hat OpenStack Platform 10 へのアップグレード手順では、Sahara サービスはデフォルトで有効化/維持されます。アップグレード後に Sahara は不要であるとオペレーターが判断した場合には、コントローラーのアップグレードとコンバージステップのコマンドで「-e 'major-upgrade-remove-sahara.yaml'」の環境ファイルを指定する必要があります。この環境ファイルは、特にコンバージのステップで末尾に指定する必要がありますが、混乱を避けるために両方のステップで末尾に指定することができます。このオプションを指定すると、Sahara サービスはメジャーアップグレード後に再起動しなくなります。 この方法により、Sahara サービスは OSP9 から OSP10 へのアップグレード中に適切に処理されます。また現在も、必要な場合には、オペレーターは Sahara を明示的に無効にすることが可能です。
- BZ#1389502
今回の更新により、KernelPidMax Heat パラメーターを使用して kernel.pid_max sysctl キーにカスタムの値を指定できるようになりました。デフォルト値は 1048576 です。Cephクライアントとして機能するノードでは、ceph-osd インスタンスの数に応じて多数のスレッドが実行される場合があります。そのような場合には、pid_max が最大値に達して、I/O エラーが発生する原因となる可能性があります。本リリースでは、pid_max キーのデフォルト値が高くなり、KernelPidMax パラメーターを使用したカスタマイズが可能となりました。
- BZ#1243483
以前のリリースでは、サーバーのメタデータ取得には Orchestration サービスがポーリングされていたため、Compute への REST API コールが実行されて nova-api に持続的な負荷がかかり、クラウドがスケールアップするに従って悪化していました。 今回の更新により、サーバーのメタデータには Object Storage サービスがポーリングされるようになったので、Heat スタックをロードするために nova-api に不要なコールは実行しなくなりました。その結果、オーバークラウドのスケールアップに伴うアンダークラウドへの負荷は大幅に軽減されました。
- BZ#1315899
以前のリリースでは、director でデプロイされた swift は、Red Hat OpenStack Platform 8 から廃止された非推奨バージョンの ceilometer ミドルウェアを使用していました。今回の更新により、swift プロキシーの設定には python-ceilometermiddleware からの ceilometer ミドルウェアが使用されるようになり、swift プロキシーはサポートされているバージョンの ceilometer ミドルウェアを使用するようになりました。
- BZ#1361285
デフォルトで設定される OpenStack Image Storage (glance) のワーカーの数が増え、パフォーマンスが向上しました。この数は、プロセッサーの数に応じて自動的にスケーリングされます。
- BZ#1367678
今回の機能拡張により、Red Hat OpenStack Platform director で Open vSwitch (OVS) ファイアウォールドライバーを設定するための新しいパラメーター「NeutronOVSFirewallDriver」が追加されました。 このパラメーターは、neutron OVS エージェントがセキュリティーグループを実装するための新たなメカニズムである「openvswitch」ファイアウォールをサポートしているために追加されました。「NeutronOVSFirewallDriver」によりユーザーは使用する実装を直接制御することができます。 「hybrid」: neutron が以前の iptables/ハイブリッドベースの実装を使用するように設定します。 「openvswitch」: 新たなフローベースの実装を有効にします。 新しい Open vSwitch (OVS) ファイアウォールドライバーにより、パフォーマンスが向上し、プロジェクトネットワークへの接続に使用するインターフェースとブリッジの数が削減されます。その結果、ユーザーは新たなセキュリティーグループの実装をより簡単に評価することができるようになりました。
- BZ#1256850
Telemetry API (ceilometer-api) はイベントレットの代わりに apache-wsgi を使用するようになりました。本リリースにアップグレードする際には、ceilometer-api が適切に移行されます。 今回の変更によりデプロイメントごとのパフォーマンスとスケーリングの調整における柔軟性が向上し、SSL の使用が簡単になりました。
- BZ#1303093
今回の更新により、オーバークラウドのデプロイ時に追加の環境ファイルを使用してオーバークラウド内の Object Storage サービス (swift) を無効にすることができます。この環境ファイルには、以下の内容を記載する必要があります。 resource_registry: OS::TripleO::Services::SwiftProxy: OS::Heat::None OS::TripleO::Services::SwiftStorage: OS::Heat::None OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None その結果、Object Storage サービスはオーバークラウドで実行されなくなり、オーバークラウドの Identity サービス内の Object Storage サービスのエンドポイントはなくなります。
- BZ#1314732
以前のリリースでは、director を使用した Red Hat OpenStack Platform 8 のデプロイ中に Compute で Telemetry サービスは設定されなかったため、OpenStack Integration Test Suite の一部のテストが失敗していました。 今回の更新により、Compute の設定で OpenStack Telemetry サービスが設定されるようになったので、通知ドライバーは正しく設定され、OpenStack Integration Test Suite のテストが合格するようになりました。
- BZ#1316016
以前のリリースでは、Telemetry (ceilometer) の通知は、Image サービス (glance) でメッセージングの設定がなかったことが原因で失敗していました。そのため、glance の通知の処理が失敗していました。今回の更新により、tripleo のテンプレートが変更されて、正しい設定が追加されたため、glance の通知は正しく処理されるようになりました。
- BZ#1347371
今回の機能拡張により、RabbitMQ に Queue Master 分散の新たな HA 機能が導入されました。そのストラテジーの 1 つは「min-masters」で、最小数のマスターをホストするノードを選択します。 この機能は、コントローラーの 1 つが利用できなくなる可能性があり、その場合にはキューの宣言中に利用可能なコントローラーに Queue Master が配置されるために追加されました。利用不可だったコントローラーが再度利用可能になると、新たに宣言されたキューのマスターは、キューマスターの数が明らかに低いコントローラーを優先するようには配置されなかったため、分散が不均衡となって、複数のフェイルオーバーが発生した場合にコントローラーにかかる負荷が大幅に高くなる可能性がありました。 そのため、今回の機能拡張でコントローラーのフェイルオーバーの発生後には、キューがコントローラー全体に広げられるようになりました。
- BZ#1351271
Red Hat OpenStack Platform director は OpenStack Block Storage (cinder) v3 API エンドポイントを OpenStack Identity (keystone) に作成して、より新しい Cinder API バージョンをサポートするようになりました。
- BZ#1364478
今回の更新により、任意のロール上で任意の分離ネットワークを使用できるようになりました。「ceph-osd」が「nova-compute」とコロケーションされているデプロイメントなどの一部のシナリオは、ノードが複数の分離ネットワークにアクセス可能であることを前提としています。カスタムの NIC テンプレートにより、任意のロール上で任意の分離ネットワークを設定することができるようになりました。
- BZ#1366721
Telemetry サービス (ceilometer) はデフォルトのメーターディスパッチャーバックエンドに Gnocchi を使用するようになりました。Gnocchi はよりスケーラブルで、Telemetry サービスの今後の方向性により整合しています。
- BZ#1368218
今回の更新により、追加の環境ファイルを使用してオーバークラウドをデプロイすることによって、Object Storage サービス (swift) に追加の RAW ディスクを設定できるようになりました。以下に例を示します。 parameter_defaults: ExtraConfig: SwiftRawDisks: sdb: byte_size: 2048 mnt_base_dir: /src/sdb sdc: byte_size: 2048 その結果、Object Storage サービスはローカルノードの「root」ファイルシステムのみに限定されなくなりました。
- BZ#1369426
AODH は MYSQLをデフォルトのデータベースバックエンドとして使用するようになりました。以前のリリースでは、Ceilometer から AODH の移行を容易にする目的で、AODH は MongoDB をデフォルトのバックエンドとして使用していました。
- BZ#1373853
以前は、Red Hat OpenStack Platform 9 (mitaka) から Red Hat OpenStack Platform 10 (newton) にアップグレードするための Compute ロールおよび Object Storage ロールのアップグレードスクリプトでエラーが発生して、想定どおりに終了しなかったため、アップグレードが失敗した場合でも、「upgrade-non-controller.sh」スクリプトはコード 0 (success) を返していました。 今回の更新により、Compute ロールと Object Storage ロールのアップグレードスクリプトはアップグレードプロセス中にエラー終了してアップグレードが失敗した場合には、「upgrade-non-controller.sh」はゼロ以外 (失敗) の値を返すようになりました。
- BZ#1379719
コンポーザブルサービスへの移行で、オーバークラウド上で NTP サーバーを設定するのに使用される Hiera データが誤って設定されていました。 今回の更新では、正しい Hiera データを使用するようになり、オーバークラウドノードで NTP サーバーが設定されるようになりました。
- BZ#1385368
コンポーザブルサービスに対応するために、Image サービス (glance) バックエンドとして使用する NFS マウントは Pacemaker によって管理されなくなったため、glance NFS バックエンドパラメーターのインターフェースが変更され、新しいメソッドでは環境ファイルを使用して NFS バックエンドを有効化するようになりました。以下に例を示します。 ---- parameter_defaults: GlanceBackend: file GlanceNfsEnabled: true GlanceNfsShare: IP:/some/exported/path ---- 注記: GlanceNfsShare の設定はデプロイメントによって異なります。 また、「GlanceNfsOptions」パラメーターを使用してマウントオプションをカスタマイズすることができます。Glance NFS バックエンドを以前 Red Hat OpenStack Platform 9 で使用していた場合には、環境ファイルの内容を更新して、Red Hat OpenStack Platform 10 の書式と一致するようにする必要があります。
- BZ#1387390
以前のリリースでは、TCP ポート「16509」が「iptables」でブロックされていました。そのため、コンピュートノード間での「nova」Compute 「libvirt」インスタンスのライブマイグレーションは実行できませんでした。 今回の更新で、TCP ポート「16509」は「iptables」で開放されるように設定されたので、「nova」Compute「libvirt」インスタンスをコンピュートノード間でライブマイグレーションできるようになりました。
- BZ#1389189
以前のリリースでは、ノード上での Hiera データの書き込みと Puppet の実行で競合状態が発生するために、Hiera データが不足して、オーバークラウドノード上で Puppet が失敗する場合がありました。 今回の更新により、プロセスが順番に実行されるようになり、まず最初に Hiera データの書き込みが全ノードで完了してから Puppet が実行されるようになりました。その結果、必要な Hiera データはすべて存在し、Puppet の実行中にエラーが発生しなくなりました。
- BZ#1392773
以前は、Red Hat OpenStack Platform 9 (Mitaka) から Red Hat OpenStack Platform 10 (Newton) にアップグレードした後に「ceilometer-compute-agent」はデータ収集に失敗していました。 今回の更新により、「ceilometer-compute-agent」のアップグレード後のプロセスによって問題が修正され、「ceilometer-compute-agent」が正しく再起動して関連データを収集するようになりました。
- BZ#1393487
以前のリリースでは、OpenStack Platform director は、OpenStack File Share API (manila-api) をデプロイする際にファイアウォールを更新しませんでした。manila-api サービスをコントローラーから独自のロールに移動した場合には、デフォルトのファイアウォールルールによりエンドポイントがブロックされていました。今回の修正により、オーバークラウドの Heat テンプレートコレクションで manila-api のファイアウォールルールが更新され、manila-api がコントローラーノードとは別のロールにある場合でもエンドポイントに到達できるようになりました。
- BZ#1382579
以前のリリースでは、director は cloudformation (heat-cfn) エンドポイントを「regionOne」ではなく「RegionOne」に設定していました。このため、UI が異なるサービスで 2 つのリージョンを表示していました。今回の修正により、エンドポイントは「regionOne」を使用するように設定され、UI では全サービスが同じ 1 つのリージョンに表示されるようになりました。
openstack-tripleo-ui
- BZ#1353796
今回の更新で、UI を使用してノードを追加できるようになりました。
os-collect-config
- BZ#1306140
今回の更新の以前は、「os-collect-config」に対する設定の HTTP 要求では、要求のタイムアウトが指定されていませんでした。そのため、アンダークラウドがアクセスできない間 (例: アンダークラウドのリブート、ネットワーク接続の問題など) には、「os-collect-config」が停止して、ポーリングや設定は一切実行されませんでした。多くの場合、この状態は、オーバークラウドスタックの操作が実行されてソフトウェアの設定がタイムアウトにならなければ判明しませんでした。 今回の更新により、「os-collect-config」HTTP 要求では常にタイムアウトが指定されるようになりました。 その結果、アンダークラウドが利用できない場合にはポーリングが失敗し、利用できるようになるとポーリングが再開するようになりました。
os-net-config
- BZ#1391031
今回の更新の以前は、Open vSwitch と neutron 間の統合の改善が原因で、再起動後の接続の再開で問題が発生して、ノードに到達できなくなったり、接続性が低減したりする場合がありました。 今回の更新により、「os-net-config」はデフォルトで「fail_mode=standalone」を設定して、制御するエージェントが起動していない場合にネットワークトラフィックを許可するようになりました。その結果、再起動時の接続の問題は解決しました。
puppet-ceph
- BZ#1372804
Ceph Storage ノードは、「ext4」でフォーマットされたローカルのファイルシステムを「ceph-osd」サービスのバックエンドとして使用していました。 注記: Red Hat OpenStack Platform 9 (Mitaka) の「overcloud-full」イメージの一部は「xfs」の代わりに「ext4」を使用して作成されていました。 Jewel リリースでは「ceph-osd」が、バックエンドで許可されているファイル名の最大長を確認して、Ceph 自体で設定されている上限よりも低い場合には拒否します。回避策として、Ceph Storage ノードにログインして以下のコマンドを実行すると、「ceph-osd」に使用中のファイルシステムを確認することができます。 # df -l --output=fstype /var/lib/ceph/osd/ceph-$ID ここで $ID は OSD ID です。以下に例を示します。 # df -l --output=fstype /var/lib/ceph/osd/ceph-0 注記: 単一の Ceph Storage ノードは、複数の「ceph-osd」インスタンスをホストしている可能性があり、その場合には、複数のサブディレクトリーが各インスタンスの「/var/lib/ceph/osd/」に存在することになります。 OSD インスタンスの*いずれか*が「ext4」ファイルシステムでバッキングされている場合には、Ceph が短いファイル名を使用するように設定する必要があります。これは、以下の内容を記載した追加の環境ファイルをデプロイ/アップグレードすることによって設定することができます。 parameter_defaults: ExtraConfig: ceph::profile::params::osd_max_object_name_len: 256 ceph::profile::params::osd_max_object_namespace_len: 64 その結果、Red Hat OpenStack Platform 9 から Red Hat OpenStack Platform 10 へのアップグレード後に、各「ceph-osd」インスタンスが稼働しているかどうかを確認できるようになります。
- BZ#1346401
「ceph-osd」インスタンスを SELinux ポリシーで制限できるようになりました。OSP 10 では、新規デプロイでは、Ceph Storage ノード上で SELinux が「enforcing」モードで設定されるようになりました。
- BZ#1370439
以前のリリースでは、新規オーバークラウドで以前のクラスターの Ceph ノードを再利用すると、オーバークラウドのデプロイメントプロセス中に新しい Ceph クラスターでメッセージを表示せずにエラーが発生していました。これは、古い Ceph OSD ノードのディスクを再利用する前にクリーニングする必要があるためでした。今回の修正により、Ceph OpenStack Puppet モジュールにチェックが追加され、 OpenStack Platform のドキュメント [1] に記載されているとおりにディスクがクリーンな状態であることを確認するようになり、クリーンでない OSD ディスクが検出された場合には、オーバークラウドのデプロイメントプロセスが適切に失敗するようになりました。「openstack stack failures list overcloud」コマンドを実行すると、FSID が一致しないディスクが表示されます。 [1] https://access.redhat.com/documentation/en/red-hat-openstack-platform/10/single/red-hat-ceph-storage-for-the-overcloud/#Formatting_Ceph_Storage_Nodes_Disks_to_GPT
puppet-cinder
- BZ#1356683
以前のリリースでは、ループデバイスの設定と Block Storage ノード上に LVM 物理ボリュームが存在するかどうかの確認で競合状態が発生していました。このため、Puppet は既存の LVM 物理ボリュームの検出に失敗してそのボリュームの再作成を試みるためにメジャーアップグレードのコンバージェンスステップが失敗していました。今回の修正により、ループデバイスの設定後には udev イベントの完了を待つようになり、Puppet はループデバイスの設定が完了してから既存の LVM 物理デバイスがあるかどうかの確認を試みるようになりました。LVM バックエンドを使用する Block Storage ノードは、正常にアップグレードされるようになりました。
puppet-heat
- BZ#1381561
OpenStack Platform director は、OpenStack Orchestration (heat) の YAQL 表現を使用するためにデフォルトのメモリー上限を超えていました。このため、「Expression consumed too much memory」というエラーがオーバークラウドのデプロイメント中に表示され、その後にデプロイメントが失敗していました。今回の修正により、director のデフォルトのメモリー上限が増やされて、オーバークラウドのデプロイではエラーが発生しないようになりました。
puppet-ironic
- BZ#1314665
ironic-inspector サーバーには、UEFI ブートローダーで機能する iPXE バージョンがありませんでした。UEFI ブートローダーを使用するマシンは、イントロスペクション ramdisk をチェーンロードできませんでした。今回の修正により、ipxe.efi ROM が ironic-inspector サーバー上に存在するようになり、dnsmasq 設定を更新して、イントロスペクション中に UEFI ベースのマシンに送信するようになったので、director は BIOS および UEFI マシンの両方を検査することができます。
puppet-tripleo
- BZ#1386611
rabbitmqctl は、パラメーターが不足していたため、IPv6 環境で機能しませんでした。今回の修正により、RabbitMQ Puppet の設定が変更されて、不足していたパラメーターが /etc/rabbitmq/rabbitmq-env.conf に追加されたので、rabbitmqctl は IPv6 環境で正常に機能するようになりました。
- BZ#1389413
今回の更新の以前は、エラーの発生したノードがサービスから削除される前に HAProxy が MySQL をチェックするため、タイムアウトが長くなり (16 秒)、エラーの発生した My SQL ノードに接続された OpenStack のサービスがユーザー/オペレーター/ツールに対して API エラーを返す場合がありました。 今回の更新により、このチェック間隔の設定が短くなり、エラーの発生した MySQL ノードは、そのエラーから 6 秒以内にドロップされるようになりました。OpenStack のサービスが稼働中の MySQL ノードにフェイルオーバーする速度がはるかに早くなり、コンシューマーに対して API エラーが表示されることは少なくなりました。
- BZ#1262070
director を使用して Ceph RBD を Block Storage バックアップターゲットとして設定できるようになりました。これにより、ボリュームを Ceph ターゲットにバックアップするように設定してオーバークラウドをデプロイすることができます。デフォルトでは、ボリュームのバックアップは「backups」という名前の Ceph プールに保管されます。 バックアップの設定は、以下の環境ファイル (アンダークラウド上) で設定されます。 /usr/share/openstack-tripleo-heat-templates/environments/cinder-backup.yaml
- BZ#1378391
以前のリリースでは、Pacemaker で Redis と RabbitMQ の両方の開始および停止のタイムアウトが 120s に設定されていました。一部の環境では、この設定は十分でなかったため、再起動が失敗していました。今回の修正により、タイムアウトは 200s に延長され、他の systemd リソースと同じになりました。大半の環境で Redis と RabbitMQ が再起動するための時間が十分となりました。
- BZ#1279554
RBD バックエンドドライバー (Ceph Storage) を OpenStack Compute (nova) の一時ディスクにすると、以下の 2 つの追加設定を libvirt に適用します。 hw_disk_discard : unmap disk_cachemodes : network=writeback これにより、Ceph プール上の未使用ブロックを再利用し、ネットワークの書き込みをキャッシュすることができるので、RBD ドライバーを使用する OpenStack Compute 一時ディスクのパフォーマンスが向上します。 http://docs.ceph.com/docs/master/rbd/rbd-openstack/ も参照してください。
python-cotyledon
- BZ#1374690
以前のリリースでは、旧バージョンの「cotyledon」のバグが原因で「metricsd」が適切に起動せずにトレースバックをスローしていました。 今回の更新にはより新しい 1.2.7-2 の「cotyledon」パッケージが含まれているので、トレースバックは発生せずに、「metricsd」は正しく起動するようになりました。
python-django-horizon
- BZ#1198602
今回の機能拡張により「admin」ユーザーは管理コンソールを使用してインスタンスに割り当てられている Floating IP の一覧を確認できるようになりました。この一覧はデプロイメント内の全プロジェクトを対象とします。 以前のリリースでは、この情報はコマンドラインでのみ取得可能でした。
- BZ#1328830
今回の更新で複数のテーマ設定がサポートされるようになりました。これは、ユーザーがフロントエンドを使用してテーマを動的に変更できるようにするために追加されました。一部のユースケースには、明るいテーマと暗いテーマを切り替える機能や、アクセシビリティー上の理由から高コントラストを有効にする機能などが含まれます。 その結果、ユーザーは実行時にテーマを選択することができます。
python-django-openstack-auth
- BZ#1287586
今回の機能拡張により、ドメインスコープのトークンを Dashboard (horizon) のログインに使用することができるようになりました。 この機能は、ドメインスコープのトークンを必要とする、よりリッチなロールセットを使用する場合に keystone v3 の認証管理を完全にサポートするために追加されました。django_openstack_auth はこのタイプのセッション用トークンの取得と維持をサポートする必要があります。 その結果、horizon は Red Hat OpenStack Platform 9 以降のバージョンでドメインスコープのトークンをサポートしています。
python-gnocchiclient
- BZ#1346370
今回の更新により、リソースタイプをサポートする OpenStack Telemetry Metrics (gnocchi) が提供されるようになりました。
python-ironic-lib
- BZ#1381511
OpenStack Bare Metal Provisioning サービス (ironic) は、追加のプライマリーパーティションとしてコンフィグドライブを作成して、新規ノードにユーザーデータを提供します。これには、ノードのディスク上に未使用のプライマリーパーティションが必要ですが、以前のリリースではバグが原因で OpenStack Bare Metal Provisioning サービスはプライマリーパーティションと拡張パーティションを区別できなかったため、パーティションカウントでは、コンフィグドライブに利用可能な空きパーティションがないものと報告されていました。今回の更新でプライマリーパーティションと拡張パーティションが区別されるようになり、デプロイメントはエラーが発生することなく正常に完了するようになりました。
- BZ#1387148
OpenStack Bare Metal Provisioning サービス (ironic) では、ディスクイメージ全体に対するコンフィグドライブ実装で解析エラーがあったため、デプロイメントが失敗していました。今回の更新により、コンフィグドライブ実装で返される値の解析が正しく修正され、コンフィグドライブを使用してディスクイメージ全体をデプロイできるようになりました。
python-tripleoclient
- BZ#1364220
OpenStack Dashboard (horizon) は、OpenStack Identity (keystone) のエンドポイント作成に director が使用するサービスのリストに誤って含まれていました。オーバークラウドのデプロイ時には、誤解を招く恐れのある「Skipping "horizon" postconfig」というメッセージが表示されていました。今回の修正により、keystone に追加されるサービスリストエンドポイントから horizon が削除され、「skipping postconfig」のメッセージはデバッグモードのみで表示されるように変更されたので、紛らわしい「Skipping "horizon" postconfig」というメッセージは表示されなくなりました。
- BZ#1383930
DHCP HA を使用する場合には、コンポーザブルロールを使用して、「NeutronDhcpAgentsPerNetwork」の値を dhcp-agent 数に等しい値または 3 のいずれか低い方に設定すべきです。このように設定しなかった場合には、この値はデフォルトで「ControllerCount」に設定され、各ネットワークで多数の DHCP サーバーの起動に対応するために dhcp-agent 数が十分でない場合があるために最適ではありません。
- BZ#1384246
ノードの削除の関数は、Heat の「parameter_defaults」ではなく「parameters」を使用していたため、Heat が意図せずにノードを再デプロイしてしまうなど、一部のリソースが再デプロイされていました。今回の修正により、ノードの削除の関数には「parameter_defaults」のみが使用されるようになり、Heat のリソースは正しく保持されるようになり、再デプロイされなくなりました。
python-twisted
- BZ#1394150
python-twisted パッケージは Red Hat OpenStack Platform 10 アンダークラウドインストールの一部としてのインストールで失敗していました。これは、パッケージの「Obsoletes」が存在しなかったことが原因でした。今回の修正により、パッケージが変更され「Obsoletes」一覧が追加されたので、python-twisted パッケージのインストール中に古いパッケージは削除され、更新とクリーンアップがシームレスに提供されるようになりました。 手動の回避策としては、Red Hat Enterprise Linux 7.3 Optional リポジトリーからは python-twisted-* パッケージ (例: python-twisted-core) は一切インストールしないようにします。アンダークラウドにこれらの古いパッケージが含まれている場合には、以下のコマンドで削除します。 $ yum erase python-twisted-*
rabbitmq-server
- BZ#1357522
RabbitMQ はポート 35672 にバインディングしていましたが、ポート 35672 は一時的なポートの範囲内にあるので、他のサービスが同じポートを開くことが可能でした。その場合には RabbitMQ は起動に失敗してしまう可能性がありました。今回の修正により、RabbitMQ のポートは一時的なポートの範囲外にある 25672 に変更されたので、他のサービスが同じポートをリッスンすることはなくなり、RabbitMQ は正常に起動するようになりました。
rhosp-release
- BZ#1317669
今回の更新には、OSP director を使用してデプロイされたオーバークラウドのバージョンを特定するためのリリースファイルが含まれるようになりました。この情報により、インストール済みのバージョンが明確にわかるので、デバッグに役立ちます。overcloud-full イメージには新規パッケージ (rhosp-release) が含まれています。旧バージョンからアップグレードする場合にもこの RPM がインストールされます。リリースファイルは、OSP 10 以降の全バージョンに含まれます。これは Red Hat OpenStack Platform director ベースのインストールにのみ適用されますが、ユーザーは rhosp-release パッケージを手動でインストールすると同じ結果を得ることができます。
sahara-image-elements
- BZ#1371649
今回の機能拡張により、「sahara-image-element」上のメインスクリプトが更新され、プラグインによってサポートされているイメージのみの作成ができるようになりました。たとえば、以下のコマンドを実行して、Red Hat Enterprise Linux 7 を使用する CDH 5.7 イメージを作成することができます。 ---- >> ./diskimage-create/diskimage-create.sh -p cloudera -v 5.7 Usage: diskimage-create.sh [-p cloudera|mapr|ambari] [-v 5.5|5.7|2.3|2.4] [-r 5.1.0] ----