1.8.14. ノード
- 今回のアップデート以前は、動的システム予約割り当てが有効になっているノード (4.21 以降にインストールされたすべてのワーカーを含む) は、ノードのメモリーが 8 GiB しかない場合 (OpenShift Container Platform でサポートされている最小ワーカーサイズとして記載されている値) はスケールダウンできませんでした。今回のリリースでは、メモリー予約のスケーリングでは最初の 8 GiB のうち 1 GiB、次の 120 GiB のうち 6%、残りのメモリー全体の 2% のみが予約されます。その結果、8 GiB という小さなノードも自動スケーリングによって適切に削除されます。(OCPBUGS-75869)
-
今回のアップデート以前は、コンテナー停止パスで競合状態が発生し、最初の呼び出したすでに完了して、内部の停止チャネルを終了した後に 2 番目の
StopContainerの呼び出しが到着すると、CRI-O が "send on closed channel" メッセージでパニックを起こす可能性がありました。その結果、CRI-O プロセスがクラッシュし、Pod が終了状態のままになることがありました。今回のリリースでは、WaitOnStopTimeoutメソッドにstopDoneガードが追加され、停止ライフサイクルが完了した後、早期にメソッドが戻るようになりました。これにより、同時実行されるStopContainer呼び出しは、閉じられたチャネルにメッセージを送信したことが原因でパニックを引き起こすことはありません。(OCPBUGS-76415) - 今回のアップデート以前は、Tekton Pipelines の init コンテナーが早期に終了したため、CRI-O が終了コードをキャプチャーできず、高性能な環境で断続的に障害が発生していました。その結果、これらの突発的にパイプライン障害が発生しました。今回のリリースでは、非常に短時間で完了する init コンテナーに対する、CRI-O の終了コード処理が改善されました。これにより、高性能な Tekton Pipelines は、init コンテナーにおける突発的な終了コードの問題が原因で断続的に失敗することがなくなりました。(OCPBUGS-82162)
-
今回のアップデート以前は、アップグレード中やネットワーク負荷時などに、API サーバーが一時的に利用不能になったことが原因で
PerformanceProfileステータスが更新されず、プロファイルがDegraded状態のままになる可能性がありました。その結果、クラスターが正常な状態に戻った後でも、Operator が次のリコンサイルイベントまで再試行しないため、degraded 状態が解消されずにスタックしたままになる可能性がありました。今回のアップデートにより、Operator はステータスの更新が成功するまで、およそ 30 秒間隔で再試行をスケジュールするようになります。これにより、スタックした degraded 状態は一時的なもので、次回の再試行時に自動的に解消されます。(OCPBUGS-62277) -
以前は、
MachineConfigPoolリソースが一時停止されると、NUMA Resources Operator が無限のリコンシリエーションループに陥る可能性がありました。これにより、一時停止中のプールに関連付けられていないノードグループも含め、すべてのノードグループが更新を完了できなくなりました。今回のアップデートにより、一時停止中のMachineConfigPoolリソースが Operator の動作を妨げなくなり、一時停止されていないプールによってサポートされているノードグループは引き続き正常にリコンサイルされます。さらに、NUMAResourcesOperatorカスタムリソースのステータスにMachineConfigPoolPaused条件が報告されるようになり、どのプールが一時停止中で確認が必要かについての視認性が向上しました。これにより、カナリアアップグレードなど、一時停止中のMachineConfigPoolリソースを含むワークフローによって NUMA Resources Operator が停止することはなくなりました。(OCPBUGS-84690)