第4章 テクニカルノート
本章には、コンテンツ配信ネットワークからリリースされる Red Hat OpenStack Platform "Wallaby" のエラータアドバイザリーの補足情報を記載します。
4.1. RHEA-2022:6543 — OSP 17.0 向けコンポーネントのリリース
ceph コンポーネントへの変更:
現在、複数のコントローラーノードがデプロイされ Ceph が有効な場合に、Swift API が機能せず、401 エラーが返されるという既知の問題があります。
回避策は https://access.redhat.com/solutions/6970061 に記載されています。(BZ#2112988)
collectd コンポーネントに対する変更:
- Red Hat OpenStack Platform 17.0 では、collectd-write_redis プラグインが削除されました。(BZ#2022714)
-
Red Hat OpenStack Platform 17.0 では、サブパッケージ
collectd-memcachec
をビルドすることがないように、ディストリビューションから依存関係が削除されています。collectd-memcached
プラグインは、collectd-memcachec
に類似の機能を提供します。(BZ#2023893) - Red Hat OpenStack Platform 17.0 では、非推奨の dbi および notify_email collectd プラグインが削除されました。(BZ#2094409)
ディストリビューションコンポーネントに対する変更:
- Red Hat OpenStack Platform 17.0 では、panko とその API がディストリビューションから削除されました。(BZ#1966898)
- Red Hat OpenStack Platform 17.0 では、collectd から gnocchi にメトリクスを配信する機能が削除されました。(BZ#2065540)
openstack-cinder コンポーネントに対する変更:
-
この更新の前に、Operator が
volume:accept_transfer
ポリシーのカスタム値を定義し、ボリューム転送承認リクエストを行うユーザーの project_id を参照すると、要求は失敗していました。今回の更新により、転送前にリクエスターの project_id をボリュームに関連付けられた project_id と誤って比較する重複ポリシーチェックが削除されます。Block Storage API レイヤーで行われたチェックが期待どおりに機能するようになりました。(BZ#2050773) - 今回の機能強化により、cinder クライアントコマンド cinder --os-volume-api-version 3.64 volume show <volume_name> を使用して、ボリュームの暗号化キー ID を表示できます。値を表示するには、マイクロバージョン 3.64 を指定する必要があります。(BZ#1904086)
- 今回の更新以前は、ボリューム種別をシックプロビジョニングからシンプロビジョニングに変換すべきなのに変換せずにボリュームの移行を実行すると、PowerFlex ストレージ支援ボリュームの移行に問題が存在していました。今回の更新で、この問題は修正されています。(BZ#1883326)
- このリリースでは、FIPS に準拠していないライブラリーに依存しているため、Google Cloud Services (GCS) の Block Storage サービス (cinder) バックアップサポートが削除されました。(BZ#1984889)
openstack-designate コンポーネントに対する変更:
- この更新の前は、DNS サービス (指定) ワーカーとデプロイされた BIND インスタンス間の通信パラメーターの設定ミスにより、複数のコントローラーノードを持つ Red Hat OpenStack Platform (RHOSP) 17.0 ベータデプロイが失敗しました。今回の更新により、この問題は解決され、複数のコントローラーノードを使用するデプロイメントで DNS サービスを使用できるようになりました。(BZ#1374002)
- Red Hat OpenStack Platform 17.0 では、Secure RBAC がテクノロジープレビューとして DNS サービス (designate) で利用できます。(BZ#1901687)
openstack-ironic コンポーネントに対する変更:
- この更新の前は、UEFI モードの Supermicro サーバーがローカルハードディスクからではなくネットワークから再起動し、起動に失敗していました。今回の更新により、Ironic は、UEFI にハードディスクから起動することを要求する正しい raw IPMI コマンドを送信します。 IPMI を使用した UEFI モードでの Supermicro ノードの起動が期待どおりに機能するようになりました。(BZ#1888069)
- 今回の機能拡張により、Bare Metal Provisioning サービス (ironic) の動作のパフォーマンスが向上し、大規模なワークロードのパフォーマンスを最適化できるようになりました。(BZ#1954274)
-
この更新の前は、ネットワークの中断により、ベアメタルノードの電源状態が
None
になり、maintenance
状態になりました。これは、Redfish ノードセッションの Ironic の接続キャッシュが古い状態になり、再試行されないことが原因です。この状態は、Ironic サービスを再起動しないと回復できません。今回の更新により、基盤となる REST クライアントが強化され、特定のエラーメッセージが返されるようになりました。これらのエラーメッセージは、キャッシュされたセッションを無効にするために Ironic によって使用されます。(BZ#2064019)
openstack-ironic-inspector コンポーネントへの変更:
この更新の前は、ノードが一時的にロックされている場合、ベアメタルノードのイントロスペクションがエラーで失敗し、再試行されませんでした。
今回の更新により、ノードがロックされている場合でもイントロスペクションを実行できるようになりました。(BZ#1991657)
openstack-manila コンポーネントに対する変更:
- 今回の更新により、OpenStack Shared File Systems サービス (manila) の CephFS ドライバーが更新され、Ceph Manager API を使用してプロビジョニングとストレージのライフサイクル操作を管理できるようになりました。新しいファイル共有を作成すると、作成、削除、および操作がより高速な新しい形式で共有が作成されます。この移行は、既存のファイル共有には影響しません。(BZ#1767084)
- 今回の更新により、スナップショットから新しい共有を作成することで、Shared File Systems サービス (manila) の CephFS Native および NFS バックエンドを使用する CephFS でスナップショットを復元できるようになりました。(BZ#1699454)
openstack-neutron コンポーネントに対する変更:
メカニズムドライバーを、iptables_hybrid ファイアウォールドライバーを使用する ML2/OVS 展開から ML2/OVN に移行できるようになりました。
既存のインスタンスは移行後もハイブリッドプラグメカニズムを使用し続けますが、セキュリティーグループは OVN に実装されており、コンピュートノードには iptables ルールが存在しません。(BZ#2075038)
ML2/OVS デプロイメントでは、Open vSwitch (OVS) は、
skb_priority
、skb_mark
、または出力キューフィールドが設定されている OpenFlow ルールのオフロードをサポートしていません。これらのフィールドは、virtio ポートの quality-of-service (QoS) サポートを提供するために必要です。virtio ポートに最小帯域幅ルールを設定すると、Open vSwitch エージェントはこのポートのトラフィックをパケットマークフィールドでマークします。その結果、このトラフィックはオフロードできず、他のポートのトラフィックに影響します。帯域幅制限ルールを設定すると、すべてのトラフィックがデフォルトの 0 キューでマークされます。これは、トラフィックをオフロードできないことを意味します。
回避策として、環境に OVS ハードウェアオフロードポートが含まれている場合は、ハードウェアオフロードが必要なノードでパケットマーキングを無効にします。パケットマーキングを無効にすると、virtio ポートのレート制限ルールを設定できなくなります。ただし、Differentiated Services Code Point (DSCP) マーキングルールは引き続き使用できます。
設定ファイルで、
disable_packet_marking
フラグをtrue
に設定します。設定ファイルを編集した後、neutron_ovs_agent
コンテナーを再起動する必要があります。以下に例を示します。$ cat `/var/lib/config-data/puppet-generated/neutron/etc/neutron/plugins/ml2/openvswitch_agent.ini` [ovs] disable_packet_marking=True
(BZ#2111015)
openstack-nova コンポーネントに対する変更:
-
この更新の前は、
max_disk_devices_to_attach
パラメーターのヘルプテキストに、0
が無効な値であるとは記載されていませんでした。また、max_disk_devices_to_attach
パラメーターが0
に設定されている場合、nova-compute
サービスが失敗するはずのときに開始されました。今回の更新により、max_disk_devices_to_attach
パラメーターのヘルプオプションテキストに、値0
は無効であることが示され、max_disk_devices_to_attach
が0
に設定されている場合、nova-compute
サービスはエラーをログに記録し、開始に失敗するようになりました。(BZ#1801931)
openstack-octavia コンポーネントに対する変更:
- 今回の更新により、Red Hat OpenStack Platform (RHOSP) 17 Octavia amphora イメージには、Red Hat Enterprise Linux (RHEL) 9 で配布される HAProxy 2.4.x が含まれるようになりました。これにより、Octavia ロードバランサーのパフォーマンスが向上します。これには、複数の vCPU コアのフレーバーを使用するロードバランサーが含まれます。(BZ#1813560)
- Red Hat OpenStack Platform 17.0 では、安全なロールベースのアクセス制御 (RBAC) がテクノロジープレビューとしてロードバランシングサービス (octavia) で利用できます。(BZ#1901686)
openstack-tripleo-common コンポーネントに対する変更:
- RHOSP 17.0 では、RHCSv5.2 GA コンテンツに基づく Ceph コンテナーを使用する必要があります。(BZ#2111527)
openstack-tripleo-heat-templates コンポーネントに対する変更:
-
今回の更新により、
cephadm
とOrchestrator
が ceph-ansible に置き換わりました。director を cephadm と共に使用して、ceph クラスターと追加のデーモンをデプロイし、新しい tripleo-ansible ロールを使用して、Ceph バックエンドを設定および有効化できます。(BZ#1839169) -
今回の更新により、Ceph をデプロイした Red Hat OpenStack Platform director に RGW デーモンが含まれ、オブジェクトストレージの Object Storage サービス (swift) が置き換えられます。Object Storage サービスを保持するには、cephadm.yaml の代わりに
cephadm
-rbd-only.yaml
ファイルを使用します。(BZ#1758161) - 今回の更新により、Red Hat OpenStack Platform director を使用して etcd サービスを設定し、TLS-everywhere をデプロイする際に TLS エンドポイントを使用できるようになりました。(BZ#1848153)
-
Red Hat OpenStack Platform 17.0 では、
iscsi
デプロイメントインターフェイスは非推奨になりました。デフォルトのデプロイインターフェイスはdirect
になりました。機能が廃止される間、バグ修正とサポートが提供されますが、Red Hat は新しい機能拡張を実装しません。将来のリリースでは、インターフェイスは削除される予定です。(BZ#1874778) -
この機能強化により、新しい Red Hat OpenStack Platform 17.0 デプロイメントの各ホストアーキテクチャーのデフォルトのマシンタイプが Q35 (
pc-q35-rhel9.0.0
) に変更されます。Q35 マシンタイプには、異なる RHEL 9.x マイナーリリース間でのインスタンスのライブマイグレーションや、i440fx
マシンタイプで使用される ACPI ホットプラグよりも高速なネイティブ PCIe ホットプラグなど、いくつかの利点と改善点があります。(BZ#1946956) -
今回の更新により、デフォルトのマシンタイプは RHEL9.0 ベースの Q35
pc-q35-rhel9.0.0
になり、次の拡張が行われました。 - RHEL マイナーリリース間のライブマイグレーション。
- ネイティブ PCIe ホットプラグ。これも、以前の i440fx マシンタイプと同様に ACPI ベースです。
- Intel 入出力メモリー管理ユニット (IOMMU) エミュレーションは、ゲストに直接割り当てられた信頼できないデバイスからゲストメモリーを保護するのに役立ちます。
- より高速な SATA エミュレーション。
- セキュアブート。(BZ#1946978)
Red Hat OpenStack Platform (RHOSP) 17.0 GA では、NIC でパーティション分割されたデプロイメントで、仮想機能 (VF) を VM に渡すことができるようになりました。
VF を通過するには、heat 環境ファイルで、VF 製品 ID、ベンダー ID、および物理機能 (PF) PCI アドレスを指定する必要があります。
NovaPCIPassthrough: - product_id: "<VF_product_ID>" vendor_id: "<vendor_ID>" address: "<PF_PCI_addresses>" trusted: "true"
PF PCI アドレスパラメーターは、文字列と辞書のマッピングをサポートします。ワイルドカード文字を指定し、1 つ以上のアドレスを指定するときに正規表現を使用できます。
Example
NovaPCIPassthrough: - product_id: "0x7b18" vendor_id: "0x8086" address: "0000:08:00.*" trusted: "true"
(BZ#1913862)
この更新の前は、collectd スマートプラグインが機能するには CAP_SYS_RAWIO 機能が必要でした。デフォルトでは追加されませんでした。今回の更新により、この機能を collectd コンテナーに追加できるようになり、スマートプラグインが機能するようになりました。スマートプラグインを使用する場合は、環境ファイルで次のパラメーターを指定します。CollectdContainerAdditionalCapAdd:
- "CAP_SYS_RAWIO" (BZ#1984556)
- Red Hat OpenStack Platform 17.0 では、collectd プロセスプラグインがデフォルトのプラグインリストから削除されています。collectd プロセスプラグインを読み込むと、procs_running not found などのメッセージでログがいっぱいになる可能性があります。(BZ#2101948)
- Red Hat OpenStack Platform (RHOSP) 17.0 GA では、RHOSP Networking サービス (neutron) ML2/OVN と RHOSP DNS サービス (designate) を統合するためのテクノロジープレビューを利用できます。その結果、DNS サービスは、新しく作成された VM の DNS エントリーを自動的に追加しません。(BZ#1884782)
openstack-tripleo-validations コンポーネントに対する変更:
- 現在、undercloud-heat-purge-deleted の検証に失敗するという既知の問題があります。これは、Red Hat OpenStack Platform 17 との互換性がないためです。回避策:--skip-list で undercloud-heat-purge-deleted をスキップして、この検証を省略します。(BZ#2105291)
puppet-collectd コンポーネントに対する変更:
- この機能拡張により、collectd の PluginInstanceFormat パラメーターを使用して、複数の値を指定できます。(BZ#1954103)
python-octaviaclient コンポーネントへの変更:
- 今回の機能拡張により、オブジェクトタグに対する Octavia のサポートが追加されました。これにより、ユーザーはロードバランサーリソースにメタデータを追加し、タグに基づいてクエリー結果をフィルターできます。(BZ#1813573)
python-openstackclient コンポーネントへの変更:
- 今回の機能拡張により、Block Storage サービス (cinder) API 3.42 に対して OpenStack CLI (OSC) がサポートされるようになりました。これにより、OSC はオンラインボリュームを拡張できます。(BZ#1689706)
python-validations-libs コンポーネントへの変更:
- 今回の機能拡張により、openstack tripleo validator show history コマンドに--limit 引数が追加されました。この引数を使用して、指定した数の最新の検証のみを表示できます。(BZ#1944872)
今回の更新により、検証フレームワークは、特定の用途に合わせてパラメーターを設定できる設定ファイルを提供します。このファイルの例は、コードソースのルートまたはデフォルトの場所
/etc/validation.cfg
にあります。/etc/
のデフォルトファイルを使用するか、独自のファイルを使用して、引数--config
で CLI に提供できます。設定ファイルを使用する場合、変数の優先順位には順序があります。次の順序は、変数の優先順位です。
- ユーザーの CLI 引数
- 設定ファイル
- デフォルトの間隔値 (BZ#1971607)
-
今回の更新により、
validation run
コマンドに新しい引数--skiplist
を指定できるようになりました。検証の実行時にスキップするサービスを含むyaml
ファイルでこのコマンドを使用します。(BZ#2013120)
tripleo-ansible コンポーネントに対する変更:
-
このセキュリティー強化により、OpenStack Shared File System サービス (manila) に必要なユーザー権限レベルが低下します。Shared File Systems サービスは、
Ceph Manager
サービスによって公開された API をこの目的で使用するようになったため、Ceph ユーザーを作成および操作するためのアクセス許可は必要なくなりました。(BZ#1973356) -
overcloud node unprovision
コマンドを使用して、アプリケーションでベアメタルノードを事前プロビジョニングできるようになりました。(BZ#2041429) - 今回の修正により、トラフィックは ML2/OVN デプロイメントの VLAN プロバイダーネットワークで分散されるようになりました。以前のリリースでは、分散仮想ルーター (DVR) 機能が有効になっていても、VLAN プロバイダーネットワーク上のトラフィックは集中化されていました。(BZ#2101937)
validations-common コンポーネントに対する変更:
- 今回の更新で、登録済みの非標準出力のコールバック出力がさまざまな Ansible プロセスから検証ロギングディレクトリーに誤ってリダイレクトされるというバグが修正されました。他のプロセスの出力は検証ロギングディレクトリーに保存されなくなりました。VF コールバックは、要求されない限りプレイについての情報を受け取らなくなりました。(BZ#1944586)