1.5. バグ修正

apiserver-auth

  • 以前のバージョンでは、一部の条件によって、Ingress Operator がその CA 証明書を router-certs シークレットにプッシュできず、Cluster Authentication Operator はヘルスチェックで証明書に信頼チェーンを構築せず、その状態は Degraded になり、アップグレードができなくなりました。CA は、デフォルトルーター CA のチェック時に default-ingress-cert 設定マップから常に組み込まれるようになり、Cluster Authentication Operator はアップグレードをブロックしなくなりました。(BZ#1866818)
  • 以前のバージョンでは、Operator で JSON 応答が生じるために、Cluster Authentication Operator は、サポートされていないログインフローが要求される際に Accept: application/json を無視する OIDC サーバーから返される HTML ページを解析できませんでした。その結果、Operator は IDP 設定を反映できませんでした。Cluster Authentication Operator は、それが要求されるフローをサポートしないという理由で、HTML ページが OIDC サーバーから返される際にエラーを出して失敗しなくなりました。(BZ#1877803)
  • 以前のバージョンでは、設定マップおよびシークレットは Cluster Authentication Operator によって適切に検証されませんでした。これにより、OAuth サーバーの新規デプロイメントが無効なファイルまたは不明なファイルでロールアウトされ、Pod がクラッシュする可能性がありました。設定マップおよびシークレットは Cluster Authentication Operator によって適切に検証されるようになり、参照される設定マップまたはシークレットに無効なデータが含まれる場合に新規デプロイメントがロールアウトされないようになりました。(BZ#1777137)

ベアメタルハードウェアのプロビジョニング

  • 以前のバージョンでは、ironic-image コンテナーの設定では、idrac-redfish-virtual-media ブートドライバーを有効にする設定が欠落していました。このため、ユーザーは Metal3 の idrac-virtual-media ブート URL を選択できませんでした。欠落していた ironic-image コンテナー設定が追加されるようになり、ユーザーは Metal3 の idrac-virtual-media URL を選択できるようになりました。(BZ#1858019)
  • 以前のバージョンでは、一部の Dell ファームウェアバージョンの Redfish を使用した永続的なブートの設定のサポートは中止されていました。Dell iDRAC ファームウェアをバージョン 4.20.20.20 に更新すると、問題は解決されます。(BZ#1828885)
  • 本リリースでは、多数のノードが同時に検査された場合に検査のタイムアウトが発生する問題は解決されています。(BZ#1830256)
  • 以前のバージョンでは、ironic-image コンテナーの設定では、idrac-redfish-virtual-media ブートドライバーを有効にする設定が欠落していました。このため、ユーザーは Metal3 の idrac-virtual-media ブート URL を選択できませんでした。欠落していた ironic-image コンテナー設定が追加されるようになり、ユーザーは Metal3 の idrac-virtual-media URL を選択できるようになりました。(BZ#1853302)
  • 以前のバージョンでは、ベアメタルの ironic イメージを提供するために使用される openshift-machine-api namespace の metal3 Pod の HTTPd コンテナーはディレクトリーの一覧表示を許可しました。今回のリリースにより、このコンテナーでディレクトリーの一覧が許可されなくなりました。(BZ#1859334)"

Build

  • buildah ライブラリーのエラーは、特定の HTTP エラーを無視する可能性があります。ビルドはターゲットレジストリーの一時的な問題により、イメージのプッシュに失敗する可能性がありました。今回のバグ修正により、イメージ Blob をプッシュする際にこれらのエラーに対応できるように buildah が更新されました。これにより、buildah は、アップストリームイメージが一時的に利用不可の場合にイメージをプッシュできなくなりました。(BZ#1816578)
  • 以前のバージョンでは、OpenShift Container Platform ビルドで使用されるコンテナーイメージ署名ポリシーにはローカルイメージの設定が含まれていませんでした。特定のレジストリーからのイメージのみを許可する場合、ローカルイメージの使用が許可されていないため、ビルドの postCommit スクリプトは失敗していました。コンテナーイメージ署名ポリシーが更新され、ローカルストレージ層を直接参照するイメージが常に許可されるようになりました。ビルドに postCommit フックが含まれる場合、ビルドが正常に実行されるようになりました。(BZ#1838372)
  • 以前のバージョンでは、Docker ストラテジービルドで使用される DockerfileARG 命令を使用して Dockerfile で最初の FROM 命令が発生する前にビルド引数を定義する場合、その命令は、DockerfileBuild または BuildConfig リソースで指定されたオーバーライドを組み込むように事前に処理されていると、ドロップされていました。それらの引数の参照はその後、事前に処理された Dockerfile を使用してイメージをビルドする際に適切に解決されませんでした。事前処理のロジックは、更新された Dockerfile コンテンツを生成する際に最初の FROM 命令の前に発生する ARG 命令を保持するように変更され、この問題が発生しなくなりました。(BZ#1842982)
  • 以前のバージョンでは、Buildah はイメージのイメージアーキテクチャーおよび OS フィールドを削除していました。これにより、生成されるイメージがアーキテクチャーおよび OS を特定できないため、一般的なコンテナーツールが失敗していました。今回のバグ修正では、明示的にオーバーライドされない限り、Buildah がイメージおよびアーキテクチャーを上書きするのを防ぐようになりました。これにより、イメージにアーキテクチャーおよび OS フィールドが常に設定され、イメージの不一致についての警告が表示されなくなります。(BZ#1858779)
  • 以前のバージョンでは、Dockerfile のビルドはビルド引数を正しく拡張しない場合があったために失敗していました。今回の更新で Dockerfile ビルド引数の処理が修正され、Dockerfile ビルドが正常に実行されるようになりました。(BZ#1839683)
  • 以前のバージョンでは、Buildah は Blob キャッシュからイメージを読み取る外部からの呼び出しを行い、Source-to-Image (S2I) ビルドが失敗しました。この問題は Buildah v1.14.11 で修正され、この修正は 4.6 の OpenShift Container Platform ビルドにも追加されました。(BZ#1844469)
  • 以前のバージョンでは、Buildah は COPY -from Dockerfile 命令でイメージを参照できませんでした。その結果、COPY –from=<image> が含まれるマルチステージ Dockerfile ビルドが失敗しました。Buildah が COPY -from 命令をサポートするバージョンに更新されました。これらの命令が含まれるビルドが正常に実行できるようになりました。(BZ#1844596)

クラウドコンピュート

  • 以前のバージョンでは、マシンセットの replicas フィールドが nil 値に設定されていると、Autoscaler はマシンセット内のレプリカの現在の数を判別することができませんでした。そのため、スケーリング操作を実行できませんでした。今回のリリースにより、Autoscaler は nil 値が設定されている場合に、ステータスの replicas フィールドで報告されるマシンセットで観察されるレプリカの最後の数を使用するようになりました。(BZ#1852061)
  • 以前のバージョンでは、同じタイプのノード間でメモリーの差異が 128 MB を超える場合、Autoscaler は各種の障害ドメイン全体でワークロードのバランスを取ることができませんでした。今回のリリースにより、メモリー差異の最大の制限値が 256 MB に増えました。(BZ#1824215)
  • 以前のバージョンでは、マシンセットの replicas フィールドにはデフォルト値がありませんでした。そのため、このフィールドがないと、マシンセットコントローラーは警告なしに失敗しました。replicas フィールドにはデフォルト値が使用されるようになりました。replicas フィールドが設定されていない場合、デフォルトの 1 つのレプリカが使用されます。(BZ#1844596)
  • 以前のバージョンでは、マシンヘルスチェックコントローラーはマシンの削除の試行前にマシンが削除されていることを確認しませんでした。その結果、コントローラーは複数の削除要求を送信する可能性があり、これにより誤ったロギングおよびイベントレポートが出される可能性がありました。マシンヘルスチェックコントローラーは、削除を試行する前にマシンが削除されているかどうかを確認するようになりました。その結果、重複ログおよびイベントは縮小されています。(BZ#1844986)
  • 以前のバージョンでは、マシン API Operator は stable 状態の場クラスター Operator マシン API を更新しました。その結果、リソースは複数の状態間ですぐに切り替わりました。リソースのステータスは、変更がロールアウトされた後にのみ変更されるようになりました。ステータスは stable のままになります。(BZ#1855839)
  • 以前のリリースでは、balanceSimilarNodeGroupsignoreDaemonSetsUtilization、または skipNodesWithLocalStorageClusterAutoscaler リソース値を false に設定しても、クラスターの Autoscaler がデプロイされる際に登録されませんでした。これらの値は、クラスター Autoscaler のデプロイ時に適切に読み取られるようになりました。(BZ#1854907)
  • 稀な例として、重複するマシン API コントローラーインスタンスがデプロイされる可能性があります。その結果、クラスターはアクセスできなくなるマシンをリークする可能性がありました。リーダーの選択メカニズムがすべてのマシン API コンポーネントに追加され、重複インスタンスが作成されないようにできるようになりました。マシン API コントローラーは、指定される数のインスタンスのみを実行します。(BZ#1861896)
  • Red Hat Virtualization (RHV) クラスターでは、マシンの手動スケーリングが失敗する可能性がありました。Web コンソールまたは CLI からのマシンのスケーリングが機能するようになりました。(BZ#1817853)
  • 以前のバージョンでは、must-gather は BareMetalHost レコードを収集しませんでした。その結果、デバッグ情報が不完全になる可能性がありました。BareMetalHost レコードが must-gather によって収集されるようになりました。(BZ#1841886)
  • 以前のバージョンでは、Azure で実行されるクラスターで、コンピュートマシンがインストール時に Failed ステージに変換されました。そのため、仮想マシンは作成後に認識されませんでした。これにより、マシンへのアクセスを試みると、ログに多数のエラーがメッセージが含まれ、仮想マシンが正常に起動した後でも失敗する可能性があります。修正として、Creating 状態のマシンはすでに作成済みとして識別されるようになりました。ログに含まれるエラーの数は少なくなり、マシンが失敗する可能性は低くなります。(BZ#1836141)
  • 以前のバージョンでは、マシンヘルスチェックは spec.maxUnhealthy の負の値を受け入れる可能性がありました。そのため、調整を試行するたびに、負の値で多数のイベントが作成されました。spec.maxUnhealthy の負の値。現時点では 0 として処理されます。これにより、誤ったログメッセージの数が減ります。(BZ#1862556)

Cloud Credential Operator

  • 以前のバージョンでは、OpenShift Container Platform バージョン 4.5 からバージョン 4.6 にアップグレードする際に、一部のフィールドが 4.6 のデフォルト値に更新されました。これは、4.5 フィールドの値が保持されないため、4.6 から 4.5 にダウングレードする機能に影響を与えました。フィールドを 4.5 で指定されないままにする代わりに、今回のバグ修正により 4.5 の値が明示的に保持され、それがダウングレードの試行時にデフォルト値として再度指定できるようになりました。4.6 から 4.5 へのダウングレードが正常に実行できるようになりました。(BZ#1868376)
  • 以前のバージョンでは、Cloud Credential Operator のリーダーの選択では controller-runtime からのデフォルト値を使用し、2 秒ごとに etcd への書き込みを行いました。本リリースでは、カスタムのリーダー選択が実装され、90 秒ごとにのみ書き込みが行われ、通常のシャットダウン時にロックがすぐに解放されるようになりました。(BZ#1858403)

クラスターバージョン Operator

  • Cluster Version Operator は、HTTPS ではなく HTTP を使用するメトリクスを提供し、暗号化されていないデータが原因で中間者攻撃の対象になりました。Cluster Version Operator は HTTPS を使用してメトリクスを提供し、データは暗号化されるようになりました。(BZ#1809195)
  • クラスター管理者が クラスターバージョンのオーバーライドを設定している場合、アップグレードプロセスは停止します。今回のリリースより、オーバーライドが設定されるとアップグレードがブロックされるようになりました。アップグレードは、管理者がオーバーライドを削除するまで開始されません。(BZ#1822844)
  • プロキシー設定の trustedCA プロパティーによって参照される設定マップ から信頼される CA を読み込むために使用される Cluster Version Operator。参照される設定マップはユーザーが維持し、ユーザー設定の破損した証明書により Operator のプロキシーへのアクセスが中断されました。今回のリリースにより、Operator は、プロキシー設定の参照される trustedCA 設定マップが有効になるとネットワーク Operator が設定する openshift-config-managed/trusted-ca-bundle から trustedCA 設定を読み込むようになりました。(BZ#1797123)
  • HTTPS 署名はシリアル化されたストアを取得し、これにより Cluster Version Operator がタスクを完了する前にタイムアウトする可能性がありました。今回のリリースより、外部 HTTPS 署名の取得が並行して行われ、すべてのストアが試行されるようになりました。(BZ#1840343)
  • 以前のバージョンでは、オプション --to-image を使用した z-stream クラスターのアップグレード (例: oc adm upgrade --to-image) 時に、Cluster Version Operator は、検証目的で現行バージョンではなく、アップグレードするクラスターのバージョンを使用していました。これにより、z-stream のアップグレードが失敗しました。Cluster Version Operator に Upgradeable=false が設定されている場合でも、--to-image オプションを使用して z-stream クラスターのアップグレードが可能になりました。(BZ#1822513)
  • 以前のバージョンでは、Cluster Version Operator (CVO) は Pod 仕様の shareProcessNamespace パラメーターを同期しませんでした。これにより、レジストリー Operator は shareProcessNamespace 設定を更新しませんでした。CVO は shareProcessNamespaceDNSPolicy、および TerminationGracePeriodSeconds パラメーターを同期し、レジストリー Operator の更新の問題を修正するようになりました。(BZ#1866554)

コンソール kubevirt プラグイン

  • 以前のリリースでは、同じ NIC プロファイルを持つ NIC を正常にインポートできませんでした。または、誤ったネットワークが選択されていました。Web コンソールは、ユーザーに対し、このような NIC に Pod ネットワークではなく同じネットワークを強制的に選択させるようになりました。(BZ#1852473)
  • 仮想マシンの一覧が virtualmachineimports データのレンダリングを待機するため、仮想マシンは管理者以外のユーザーでログインしている場合に表示されませんでした。仮想マシンの一覧が正しくレンダリングされるようになりました。(BZ#1843780)
  • Create VM ウィザードの Edit Disk モーダルでは、クローン作成された PVC namespace を反映しませんでした。別の namespace から datavolume ディスクを編集することはできませんでした。ディスクモーダルは、datavolume ディスクの正しい namespace を適切に登録するようになりました。(BZ#1859518)
  • datavolume 名がハードコーディングされているため、仮想マシンおよびテンプレートで URL ソースの参照時に同じ名前を使用することはできませんでした。自動生成された一意の文字列が datavolume 名に追加され、新しい仮想マシンおよびテンプレートが同じ名前を持てるようになりました。(BZ#1860936)
  • ネットワーク使用率データには、データの配列が空であるために Not Available が表示されました。チェックが実装され、空の配列がデータなしとして解釈されるようになりました。(BZ#1850438)
  • 今回のリリースにより、Import VM 機能が Web コンソールの Developer パースペクティブから削除されました。(BZ#1876377)

Console Metal3 プラグイン

  • EI が最新バージョンの検索をするため、ユーザーインターフェイスは古いノードメンテナーンス CRD を検出しませんでした。そのため、Node Maintenance アクションでは、古い NodeMaintenance CR (ある場合) が見落されていました。UI は両方の NodeMaintenance CR を監視するようになりました。(BZ#1837156)
  • ユーザーインターフェイスは正常なシャットダウンを正しく評価せず、コンソールのシャットダウン時に誤った警告が表示されることがありました。インターフェイスはノード Pod の読み込みを待機し、シャットダウン時に正しい警告が表示されるようになりました。(BZ#1872893)

コンテナー

  • 以前のバージョンでは、ビルドコンテキストからコンテンツをコピーする COPY または ADD 命令を処理するロジックは、.dockerignore ファイルが存在する場合に効率的にフィルターされませんでした。COPY および ADD の速度は、ソースの場所のそれぞれの項目を宛先にコピーする必要があるかどうかを評価する累積するオーバーヘッドによって大幅に遅くなります。今回のバグ修正により、ロジックが書き換えられ、.dockerignore ファイルが存在する場合でも、ビルド時に COPY および ADD 命令を処理する速度が大幅に遅くなることはなくなりました。(BZ#1828119, BZ#1813258)
  • 以前のバージョンでは、ビルダーのロジックが新規レイヤーの内容を 2 回計算するため、イメージのビルドおよびプッシュは error reading blob from source のエラーメッセージを出して失敗しました。レイヤーコンテンツをキャッシュするロジックは、それらの計算の結果が一貫性を維持するかどうかに依存します。2 つの計算の間で新しいレイヤーのコンテンツが変更された場合、キャッシュは必要な時にレイヤーの内容を提供することができません。新規レイヤーのコンテンツは 2 回計算されなくなり、イメージのビルドとプッシュは失敗しなくなりました。(BZ#1720730)

Web コンソール (Developer パースペクティブ)

  • 以前のバージョンでは、Topology ビューで Knative アプリケーションを削除しようとすると、存在しない Knative ルート に関する誤検出エラーが報告されました。この問題は修正され、エラーは表示されなくなりました。(BZ#1866214)
  • 以前のバージョンでは、Web コンソールの Developer パースペクティブでセキュアでないレジストリーからのイメージをインポートできませんでした。今回のバグ修正により、ユーザーが Deploy image フォームでセキュアではないレジストリーを使用できるようにチェックボックスが追加されました。(BZ#1826740)
  • ユーザーがアプリケーションを作成する From Catalog オプションを選択した場合、Developer Catalog には、アプリケーションを作成するためにテンプレートの一覧ではなく空のページが表示されました。これは 1.18.0 Jaeger Operator のインストール時に発生しました。この問題は修正され、テンプレートが予想通りに表示されるようになりました。(BZ#1845279)
  • Web コンソールの Developer パースペクティブの Pipeline Builder で Pipeline の並列タスクを削除する際に、インターフェイスでは並列タスクに接続されたタスクの再編成を正しく行わず、孤立したタスクが作成されました。今回の修正により、削除された並列タスクに接続されているタスクが元の Pipeline に再接続されるようになりました。(BZ#1856155)
  • ユーザーがサイドパネルを同時に開いた状態で Web コンソールを使用して Pipeline の作成をキャンセルした場合、Web コンソールは JavaScript 例外を出してクラッシュしました。これは、内部の状態の処理を改善することで修正されました。(BZ#1856267)
  • 必要なパーミッションを持つユーザーは、別のプロジェクトからイメージを取得したり、デプロイしたりできませんでした。この問題を修正するために、必要なロールバインディングが作成されました。(BZ#1843222)
  • Import from Git 機能を使用して Git リポジトリーからアプリケーションをデプロイしようとすると、web コンソールの Developer パースペクティブは、クラスターから到達可能なプライベートリポジトリーについて Git repository is not reachable という誤検出エラーを報告していました。これは、プライベートリポジトリーをエラーメッセージのクラスターで利用可能にすることについての情報を追加して修正されています。(BZ#1877739)
  • Go アプリケーションが web コンソールの Developer パースペクティブで作成されても、アプリケーションへのルートは作成されませんでした。これは、build-tools のバグと誤って設定されたポートによって引き起こされました。この問題は、ユーザーが指定するポートまたはデフォルトのポート 8080 をターゲットポートとして選択することで修正されます。(BZ#1874817)
  • Import from Git 機能を使用してアプリケーションを作成すると、Web コンソールからのアプリケーションの Git リポジトリーの後続の変更を加えることができませんでした。これは、Git リポジトリー URL の後続の編集でアプリケーション名を変更することで生じました。これは、アプリケーションの Git リポジトリー URL を編集する際にアプリケーション名を読み取り専用にすることで修正されました。(BZ#1873095)
  • 以前のバージョンでは、管理者またはプロジェクトの一覧の権限を持たないユーザーには、プロジェクトのメトリクスが表示されませんでした。今回のバグ修正により、クラスターメトリクスへのアクセス時にユーザー権限のチェックが削除されるようになりました。(BZ#1842875)
  • user@example.com など、ユーザー名に @ 文字が含まれるユーザーは、web コンソールの Developer パースペクティブから Pipeline を起動できませんでした。これは、Kubernetes ラベルの制限によって生じました。この問題は、Started by メタデータを Kubernetes ラベルから Kubernetes アノテーションに移動することで修正されました。(BZ#1868653)
  • 以前のバージョンでは、ユーザーがメトリクスを選択した場合、QueryEditor はクエリーを表示していました。ただし、ユーザーがクエリーを削除または変更し、同じメトリクスを再度選択した場合、QueryEditor は更新されません。今回の修正により、ユーザーがクエリーをクリアし、同じクエリーの選択を試みると、クエリー入力テキストエリアにクエリーが表示されるようになりました。(BZ#1843387)
  • Che Workspace Operator は Workspace リソースのサポートを削除し、これを DevWorkspace CRD に置き換えました。そのため、コマンドラインターミナルは最新の Che Workspace Operator で有効にされませんでした。今回の修正により、OpenShift コマンドラインターミナルが DevWorkspace リソースを使用するように移行しました。コマンドラインターミナルは、Che Workspace Operator のインストール時に OpenShift コンソールで有効にされます。(BZ#1844938)
  • 以前のバージョンでは、トラフィックが複数のリビジョンに分散される場合、Knative サービスのルートデコレーターは、ユーザーをリビジョン固有のルートにリダイレクトしていました。ルートデコレーターは、Knative ベースサービスルートを常に参照するように更新されました。(BZ#1860768)
  • 以前のバージョンでは、ユーザーが外部プライベートコンテナーレジストリーのシークレットを追加し、レジストリーからコンテナーイメージをインポートすると、Pod が起動しませんでした。そのため、デプロイメントは、サービスアカウントまたはデプロイメントが手動で更新されるまで停止しました。今回のバグ修正により、新規デプロイメントは内部コンテナーレジストリーを使用して Pod を起動できるようになりました。今回のバグ修正により、ユーザーは、サービスアカウントまたはデプロイメントへの追加の変更なしに、外部のプライベートコンテナーレジストリーからコンテナーイメージをインポートできるようになりました。(BZ#1926340)
  • コンソールでは、仕様の resources および serviceAccountName フィールドを使用する KafkaSource オブジェクトの以前のバージョンを使用していました。KafkaSource オブジェクトの v1beta1 バージョンでは、ユーザーが v1beta1 バージョンで KafkaSource オブジェクトを作成できないために、これらのフィールドが削除されました。この問題は修正され、ユーザーは v1beta1 バージョンで KafkaSource オブジェクトを作成できるようになりました。(BZ#1892695)
  • 以前のバージョンでは、helm リリースをインスタンス化するためにチャートをダウンロードする際に相対チャート URL にアクセスできませんでした。これは、Helm チャートリポジトリーで参照されるリモートリポジトリーからの index.yaml ファイルがフェッチされ、そのまま使用されるために生じました。これらのインデックスファイルには、相対チャート URL が含まれているものもあります。この問題は相対チャート URL を絶対 URL に変換することによって修正され、これによりチャート URL にアクセスできるようになりました。(BZ#1916406)
  • 以前のバージョンでは、ユーザーは Topology ビューで Knative サービスおよびソースを表示できませんでした。これは、Null Pointer Exception (NPE) が原因でトリガーに Knative サービスと In-Memory Channe の両方がサブスクライバーとして設定されていたために生じました。この問題は、Null Pointer Exception を修正することで解決され、Knative データモデルは適切なデータを返し、Knative リソースは Topology ビューに適切に表示されます。(BZ#1907827)
  • 以前のバージョンでは、API サーバーはリソースの作成に失敗し、リソースクォータのリソースの更新中の競合により 409 のステータスコードを返すことがありました。この問題は修正され、{product title} Web コンソールは 409 のステータスコードを受信する間に要求を再試行しようとします。要求を完了するには、最大 3 回試行が行われます。これは通常は十分な回数です。409 が継続的に発生する場合、コンソールにエラーが表示されます。(BZ#1928230)
  • 以前のバージョンでは、チャートリポジトリー httpClient() はプロキシー環境変数を考慮しないため、開発者カタログに helm チャートは表示されませんでした。この問題は修正され、helm チャートが開発者カタログに表示されるようになりました。(BZ#1919138)
  • テクノロジープレビューのバッジが Eventing ユーザーインターフェイスに表示されます (GA リリース用)。テクノロジープレビューのバッジが Eventing ユーザーインターフェイスから削除されるようになりました。(BZ#1899382)
  • 以前のバージョンでは、アプリケーションは相関 Pod データがデプロイメント設定で利用できない場合にクラッシュしました。これは、コンソールのデプロイメントがデプロイメント設定が読み込まれるとすぐに表示される Pod ステータスドーナツの 2 セットのデータを取得するためです。API が 250 を超える Pod を返す場合、一部の情報は省略され、利用できません。この問題は修正され、プロジェクトに 250 を超える Pod が含まれる場合でも Pod データを利用できるため、DeploymentConfig の詳細ページがクラッシュしなくなります。(BZ#1921603)
  • 以前のバージョンでは、トリガー、サブスクリプション、チャネル、および IMC イベントソースに対応する静的モデルはベータ API バージョンを使用していました。Serverless 0.10 リリースにより、イベントソースでサポートされる最新バージョンが v1 バージョンに更新されました。今回のバグ修正により、ユーザーインターフェイスモデルが更新され、サポートされている最新バージョンを参照するようになりました。(BZ#1896625)
  • 以前のバージョンでは、条件付きタスクが失敗すると、完了したパイプライン実行で、失敗した条件付きタスクごとに永続的な保留状態のタスクが表示されました。この問題は、失敗した条件付きタスクを無効にし、省略 (skipped) アイコンをそれらのタスクに追加することで修正されています。これにより、パイプライン実行の状態をより明確に把握することができます。(BZ#1916378)
  • 以前のバージョンでは、ユーザーのパーミッションが不十分であるために、他のプロジェクトからイメージをプルするためのユーザーのアクセスは拒否されました。今回のバグ修正により、ロールバインディングについてのすべてのユーザーインターフェイスのチェックが削除され、ユーザーのコマンドラインの使用に役立つ oc コマンドアラートが表示されるようになりました。今回のバグ修正により、ユーザーの異なる namespace からのイメージの作成がブロックされなくなり、他のプロジェクトからイメージをデプロイできるようになりました。(BZ#1933727)
  • サンプルアプリケーションの作成時に、Developer パースペクティブは、相互に依存し、特定の順序で実行する必要のある複数のリソースを作成します。以前のバージョンでは、受付プラグインはこれらのリソースのいずれも確認できず、Developer パースペクティブでサンプルアプリケーションを生成できないことがありました。この問題は修正されています。このコードはリソースを必要な順序で作成するため、サンプルアプリケーションの作成の安定性が高くなります。(BZ#1933666)
  • 以前のバージョンでは、ユーザーは Developer パースペクティブからプライベートサービスとして Knative サービスを作成できませんでした。この問題は、networking.knative.dev/visibility': 'cluster-local ラベルを更新して修正されています。(BZ#1978159)
  • 以前のバージョンでは、OpenShift Container Platform Web コンソールで Bitbucket リポジトリーを使用してデプロイメント用に作成されたトポロジー URL は、スラッシュ文字を含むブランチ名が含まれている場合は機能しませんでした。これは Bitbucket API (BCLOUD-9969) の問題が原因でした。今回のリリースでは、この問題が緩和されています。ブランチ名にスラッシュが含まれている場合、トポロジー URL はリポジトリーのデフォルトのブランチページを指します。(BZ#1972694)
  • 以前のバージョンでは、プライベートリポジトリーの git Import フローで作成されたパイプラインは実行できませんでした。この問題は、パイプラインの ServiceAccount オブジェクトのアノテーションに秘密の名前を追加し、提供された秘密にパイプライン固有のアノテーションを追加することで修正されています。(BZ#1970984)

DNS

  • 以前のバージョンでは、CoreDNS 1.6.6 の実行時に、断続的に無効なメモリーアドレスまたは nil ポインター逆参照エラーが発生し、Kuby API アクセスのタイムアウトが生じていました。これは、Endpoint Tombstones でエラーを正しく処理することで修正されるようになりました。CoreDNS は、断続的なパニックなしに意図されたとおりに動作するようになりました。(BZ#1868315)
  • 以前のバージョンでは、DNS Operator は API によって設定されたデフォルト値への応答として、DNS および Service オブジェクトの更新を繰り返し試行していました。今回の更新により、DNS Operator がそれによって指定されていない値を DNS および Service オブジェクトの値に等しい値として見なすようになりました。そのため、DNS Operator は API のデフォルト値への応答として、DNS または Service オブジェクトを更新しなくなりました。(BZ#1842741)

etcd

  • 以前のバージョンでは、ETCDCTL_ENDPOINTS のブートストラップのエンドポイントは、ブートストラップノードの削除後に削除されました。そのため、etcdctl コマンドには予期しないエラーが表示されました。ブートストラップエンドポイントは ETCDCTL_ENDPOINTS に追加されなくなったため、 etcdctl コマンドには、ブートストラップエンドポイントに関連するエラーが表示されなくなりました。(BZ#1835238)

イメージ

  • 以前のバージョンでは、マニフェスト一覧でダイジェストを使用したイメージのインポートが失敗しました。今回の修正により、マニフェスト一覧内で選択したマニフェストのダイジェストを使用して、マニフェストの一覧からマニフェストへの変換が修正されました。そのため、マニフェスト一覧のダイジェストによるインポートが予想通りに機能するようになりました。(BZ#1751258)

イメージレジストリー

  • 以前のバージョンでは、一部の内部パッケージは内部エラー構造を使用していたため、null ポインターの問題が生じました。今回のリリースより、内部エラーインターフェイスが返され、nil エラーが正しく変換されるようになりました。(BZ#1815562)
  • Operator は空の場合に httpSecrets を生成しなかったため、値が正しく設定されませんでした。今回のリリースにより、Operator は httpSecret を生成し、設定ファイルの作成時にこれをすべてのレプリカに使用するようになりました。(BZ#1824834)
  • 以前のバージョンでは、イメージプルーナーが無効になると無効なアラートが表示されました。このアラートは削除されました。(BZ#1845642)
  • レジストリー Operator タイプのアサーションは変数に対して 2 回実行され、2 回目に結果はチェックされませんでした。これにより、誤ったアサーションが生じ、パニック状態が生じました。チェックされたタイプのアサーションが使用され、Operator でパニックが発生しなくなりました。(BZ#1879426)
  • 以前のバージョンでは、Operator ブートストラップの storageManaged 設定が true に設定され、ユーザーが設定ファイルを手動で更新する場合に競合が生じました。追加の設定フィールド、spec.storage.storageManagementState が作成されました。ユーザーは Managed または Unmanaged を指定でき、Operator はその設定を反映します。(BZ#1833109)
  • コンテンツがストレージに書き込まれる際に OpenStack のイメージレジストリーを削除すると、イメージレジストリーのストレージが削除されず、409 HTTP の戻りコードエラーがログに記録されました。今回のバグ修正により、ストレージを削除する前にストレージの内容が削除されるようになりました。イメージレジストリー Operator が削除されると、そのストレージも削除されるようになりました。(BZ#1835770)
  • OpenStack でのインストール時に、イメージレジストリー Operator のブートストラッププロセスで Swift ストレージにアクセスできない場合、ブートストラップは完了しませんでした。これにより、イメージレジストリー設定リソースの作成に失敗し、修正がブロックされたり、その設定が変更されました。今回のバグ修正により、Swift ストレージへのアクセス時に問題が発生した場合に、ブートストラップでエラーが発生することが回避されるようになりました。エラーがある場合に、それはログに記録され、ブートストラップが完了し、設定リソースが作成されるようになります。イメージレジストリー Operator の柔軟性が高くなり、Swift ストレージにアクセスできない場合、PVC を使用して内部イメージレジストリーをブートストラップするようになりました。(BZ#1846263)
  • イメージレジストリー Operator は、Azure エンドポイントの呼び出しを過剰に実行することを防ぎます。Azure はクォータを適用し、Operator は以前のバージョンでは、ストレージのアカウントキーについて絶えずクエリーしていました。今回のバグ修正により、キーが必要となるたびにキーの取得時にリモートになることを防ぐために、キーが設定される期間ローカルにキャッシュされるようになりました。(BZ#1853734)
  • 以前のバージョンでは、Operator は、ジョブが失敗状態になる可能性があっても、Operator のステータスのレポート時に、実行されているジョブを正常と解釈していました。Operator のステータスを報告する際に実行中のジョブが無視されるようになりました。(BZ#1857684)
  • イメージレジストリーのパージプロセスは、ディレクトリーを 2 回一覧表示するために S3 ストレージでの実行時に失敗していました。ディレクトリーは 1 回のみ一覧表示され、イメージのパージプロセスが正常に完了するようになりました。(BZ#1861304)
  • 以前のバージョンでは、イメージレジストリー Operator が削除されると、プルーナージョブは、存在しないレジストリーに到達できずに失敗しました。プルーナージョブは etcd オブジェクトのみを削除し、削除されている場合はレジストリーへの ping を試行しなくなりました。(BZ#1867792)
  • ユーザーがバケット名を手動で追加している場合、Operator はバケットを作成しませんでした。今回のリリースより、Operator はユーザーによって指定される名前に基づいてバケットを正常に作成できるようになりました。(BZ31875013)
  • 以前のバージョンでは、イメージレジストリー Operator は Too large resource version エラーメッセージが出されると、クラスターからイベントを取得できませんでした。今回のリリースにより、client-go ライブラリーが更新され、Operator が Too large resource version エラーメッセージから回復できるようにリフレクターが修正されました。(BZ#1880354)
  • 以前のバージョンでは、Image Registry Operator 設定ファイルの spec.requests.read/write.maxWaitInQueue に指定される値は検証されませんでした。指定された値が期間として解析できない文字列である場合、変更は適用されず、誤った値に関するメッセージが繰り返しログに記録されました。今回のリリースにより、検証が追加され、ユーザーがこのフィールドに無効な値を指定できなくなりました。(BZ#1833245)
  • 以前のバージョンでは、イメージのプルーニング時にイメージオブジェクト間の依存関係の追跡の速度が遅くなりました。イメージのプルーニングが完了するまでに長い時間がかかることがありました。基礎となるイメージプルーニングのメカニズムが再設計されました。今回のリリースより、イメージのプルーニングの速度が上がり、並列処理が強化されました。(BZ#1860163)

インストーラー

  • 以前のバージョンでは、マシンが resourcePoolPath の取得を試行する際に、マシンは複数のリソースプールを検索し、正しいものを解決できませんでした。今回のリリースにより、resourcePoolPath 情報でマシンセットに追加されたプロパティーを使用して、正しいものを解決できるようになりました。(BZ#1852545)
  • 以前のバージョンでは、ノードのサブネットのプロビジョニング時に DHCP 割り当てプールの最後を計算する際にハードコーディングされた値が設定されました。これにより、マシン CIDR が 18 よりも小さい OpenStack の OpenShift Container Platform クラスターにデプロイする際にエラーが生じました。今回のバグ修正によりノード数のハードコーディングが削除され、代わりに DHCP 割り当てプールの最後が動的に計算されるようになりました。任意の長さのマシン CIDR で OpenStack にクラスターをデプロイすることができるようになりました (すべての必要なノードに十分な大きさである場合)。(BZ#1871048)
  • 以前のバージョンでは、一部の利用可能なネットワークは、oVirt ネットワークの解析に影響を与える ovirt-engine-sdk-go API エラーにより、クラスターのインストール時に表示されませんでした。この問題は解決されています。(BZ#1838559)
  • 以前のバージョンでは、vSphere web コンソールウィザードには、OpaqueNetwork も有効なオプションであるものの、タイプ Network および DistributedVirtualPortgroup のネットワークのみが表示されました。OpaqueNetwork がウィザードでオプションとして加えられ、このタイプのネットワークも選択できるようになりました。(BZ#1844103)
  • 以前のバージョンでは、Manila Operator はカスタムの自己署名証明書をサポートしなかったため、Manila Operator は自己署名証明書を使用する一部の環境で Manila CSI ドライバーをデプロイできませんでした。Operator はユーザーが指定する CA 証明書をシステム設定マップからフェッチし、ドライバーのコンテナーにマウントし、ドライバーの設定を更新するようになりました。その結果、Manila Operator は自己署名証明書が設定された環境に Manila CSI ドライバーをデプロイし、これを管理できます。(BZ#1839226)
  • 以前のバージョンでは、platform.aws.userTags パラメーターを name または kubernetes.io/cluster/ タグをインストールプログラムが作成するリソースに追加するように設定すると、マシン API が既存のコントロールプレーンマシンを識別できず、別のコントロールプレーンホストのセットを作成しました。これにより、etcd クラスターのメンバーシップに関する問題が生じました。platform.aws.userTags パラメーターにエラーが発生しやすいタグを設定できなくなり、クラスターに追加のコントロールプレーンホストや 障害のある etcd クラスターが含まれる可能性は低くなります。(BZ#1862209)
  • 以前のバージョンでは、ヘルスチェックプローブは、ユーザーによってプロビジョニングされるインフラストラクチャーの Azure クラスターにデプロイされるロードバランサーに対して定義されませんでした。ロードバランサーが定義されていないため、それらは API エンドポイントが利用不可になる時を検知せず、トラフィックをそれらの利用不可のエンドポイントに転送するため、クライアントの障害が発生していました。今回のリリースより、ヘルスチェックプローブがロードバランサーで使用され、API エンドポイントが利用できない場合に正しく検知され、オフラインノードへのトラフィックのルーティングを停止するようになりました。(BZ#1836016)
  • 以前のバージョンでは、インストールプログラムは *proxy.noProxy フィールドの有効な値として受け入れず、インストール時に * に設定される no proxy の設定クラスターを作成できませんでした。インストールプログラムは、* をパラメーターの有効な値として受け入れるようになり、インストール時に no proxy を * に設定できるようになりました。(BZ#1877486)
  • 以前のバージョンでは、GCP にクラスターをインストールすると、US が場所として常に使用されていましたが、米国外の一部のリージョンにクラスターをインストールすることができませんでした。インストールプログラムは、指定するリージョンに適切な場所を設定し、インストールが他の場所で正常に実行されるようになりました。(BZ#1871030)
  • 以前のバージョンでは、インストーラーでプロビジョニングされるインフラストラクチャーを使用して vSphere にクラスターをインストールしている場合、同じ IP アドレスを Ingress と API に割り当てることができました。これにより、ブートストラップマシンとコントロールプレーンマシンのいずれかに同じ IP アドレスが設定される可能性がありました。インストールプログラムは、IP アドレスが異なること、コントロールプレーンとブートストラップマシンに固有の IP アドレスがあることを検証するようになりました。(BZ#1853859)
  • 以前のバージョンでは、インターフェイスで新規の DHCP4 または DHCP6 リースの取得時に、 local-dns-prependerresolv.conf ファイルを、クラスターに必要なすべてのリゾルバーを含めるように更新しませんでした。dhcp4-change および dhcp6-change のアクションタイプは、常に local-dns-prepender に更新を開始させます (BZ#1866534)。
  • 以前のバージョンでは、クラスターを asia-northeast3asia-southeast-2us-west3、および us-west4 などの GCP リージョンにデプロイできませんでした。これらのリージョンを使用できるようになりました。(BZ#1847549)
  • 以前のリリースでは、OpenStack インストールプログラムは InstanceID() 関数に一貫性のない出力形式を使用していました。インスタンス ID はメタデータから取得するか、要求ををサーバーに送信して取得します。後者の場合、結果には必ず/接頭辞が付き、これが正しい形式になります。インスタンス ID がメタデータから取られる場合、システムはノードの有無を確認できず、エラーによって失敗しました。メタデータ形式には '/' 接頭辞も含まれるようになり、ID 形式は常に正しいため、システムが常にノードが存在を常に検証できるようになりました。(BZ#1850149)
  • 以前のバージョンでは、FIPS がクラスターに対して有効にされている場合、ベアメタルのインストーラーでプロビジョニングされるインフラストラクチャープラットフォームのプロビジョニングサービスは失敗しました。今回の更新により、FIPS が有効になり、インストールが正常に完了すると、プロビジョニングサービスは予想通りに実行されます。(BZ#1804232)
  • 以前のバージョンでは、プロビジョニングネットワークがクラスターのプロビジョニング VIP を含むサブネット全体を使用できるように DHCP 範囲を設定できました。そのため、ブートストラップ仮想マシン IP およびクラスターのプロビジョニング IP が割り当てられず、インストールに失敗しました。今回の修正により、VIP が検証され、それらが DHCP 範囲と重複しないようになりました。(BZ#1843587)
  • 以前のリリースでは、証明書の後に 2 つの行末文字シーケンスが続くと、インストールが失敗しました。今回の更新により、認証局 (CA) 証明書の信頼バンドルパーサーが修正され、グラフィック文字を無視するようになりました。そのため、CA 証明書信頼バンドルでは、証明書の前後、または証明書の中に入る任意の数の行末文字シーケンスを使用できるようになりました。(BZ#1813354)
  • 以前のバージョンでは、インタラクティブなインストーラープロンプトがクラスターの ExternalNetwork リソースを要求すると、考えられるすべてのネットワークの選択肢が一覧表示されました。これには無効なオプションが含まれました。今回の更新により、インタラクティブなインストーラーが可能なオプションをフィルターし、外部ネットワークのみを一覧表示するようになりました。(BZ#1881532)
  • 以前のバージョンでは、ベアメタルの kube-apiserver ヘルスチェックプローブはハードコーディングされた IPv4 アドレスを使用してロードバランサーと通信しました。今回の更新により、ヘルスチェックが localhost を使用するように修正されました。これは IPv4 と IPv6 ケースのいずれにも対応します。さらに、healthz ではなく、API サーバーの readyz エンドポイントがチェックされます。(BZ#1847082)
  • 依存するすべてのステップを一覧表示しない Terraform 手順により、Red Hat OpenStack Platform (RHOSP) 上のクラスターで競合状態が発生していました。これにより、Terraform ジョブが Resource not found エラーメッセージを出して失敗することがありました。この手順は、競合状態を回避するために depends_on として一覧表示されるようになりました。(BZ#1734460)
  • 以前のバージョンでは、クラスター API はマシンの更新前に RHOSP フレーバーを検証しませんでした。その結果、フレーバーが無効であるマシンは起動できませんでした。フレーバーは、マシンの更新前に検証され、無効なフレーバーを持つマシンはすぐにエラーを返すようになりました。(BZ#1820421)
  • 以前のバージョンでは、それらの名前にピリオド (.) が含まれる RHOSP のクラスターは、インストールのブートストラップフェーズで失敗していました。RHOSP のクラスター名でピリオドは許可されなくなりました。クラスター名にピリオドが含まれる場合、インストールプロセスの初期段階でエラーメッセージが生成されます。(BZ#1857158)
  • 以前のバージョンでは、ヘルスチェックプローブは、AWS にデプロイされるユーザーによってプロビジョニングされるインフラストラクチャーのロードバランサーに対して定義されませんでした。ロードバランサーは API エンドポイントが利用できなくなる時を検出しませんでした。これにより、クライアントの失敗が生じました。今回の更新により、ヘルスチェックプローブが追加され、ロードバランサーはトラフィックをオフラインノードにルーティングしません。(BZ#1836018)
  • 以前のバージョンでは、Terraform vSphere プロバイダーの DiskPostCloneOperation 機能は、Red Hat CoreOS OVA イメージからクローンされる仮想マシンの thin_provisioned および eagerly_scrub プロパティーをチェックしました。プロビジョニングのタイプがクローン時に変更され、ソースのプロビジョニングタイプと一致しないと、チェックは失敗しました。DiskPostCloneOperation 機能は、それらのプロパティーを無視するようになり、Red Hat CoreOS OVA のクローン作成は正常に実行されるようになりました。(BZ#1862290)
  • ./openshift-install destroy cluster の実行時に、インストーラーは、インストーラータグの削除を、それらを使用するリソースが削除される前に試行しました。その後に、インストーラーはタグの削除に失敗しました。今回の更新により、インストーラーは対応するリソースの削除後にタグを削除するようになりました。(BZ#1846125)

kube-apiserver

  • 以前のバージョンでは、Cluster Version Operator (CVO) は、LatencySensitive 機能ゲートが使用されている場合に、クラスターにアップグレード不可のマークを付けました。今回の更新により、CVO は LatencySensitive 機能ゲートをクラスターのアップグレードのブロックとしてみなさなくなりました。この問題を解決するには、ソリューションを含む最新の 4.5.z または stable バージョンへのアップグレードを強制的に実行します。(BZ#1861431)

kube-controller-manager

  • 以前のバージョンでは、デーモンセットコントローラーは、デーモンセットを再作成する際に expectation をクリアしませんでした。そのため、デーモンセットは、expectation が期限切れになるまで 5 分間停止した状態になる可能性があります。デーモンセットコントローラーは expectation を正しくクリアするようになりました。(BZ#1843319)
  • UID 範囲の割り当ては、プロジェクトの削除時に更新されないため、namespace の作成および削除の頻度の高いクラスターでは UID 範囲を使い切られる可能性があります。この問題を解決するために、kube-controller-manager Pod は定期的に再起動され、これにより修復の手順がトリガーされ、UID 範囲がクリアされます。(BZ#1808588)
  • 以前のバージョンでは、エンドポイントコントローラーは、インフォーマーの再同期の間隔ごとに多数の API 要求を送信していました。これにより、多数のエンドポイントを持つ大規模なクラスターでパフォーマンスが低下していました。ストレージの各種の不整合とエンドポイントの比較により、エンドポイントコントローラーは実際の必要以上の、多数の追加の更新をクラスターに対して実行する必要のあると誤って仮定していました。今回の修正により、エンドポイントのストレージおよび比較機能が更新され、それらの一貫性が強化されました。これにより、エンドポイントコントローラーは、必要に応じて更新のみを送信するようになりました。(BZ#1854434)
  • 以前のバージョンでは、NotFound エラーはコントローラーのロジックにより誤って処理されました。このため、デプロイメント、デーモンセット、レプリカセットコントローラーなどのコントローラーは、Pod が欠落していることを認識しませんでした。今回の修正により、コントローラーが更新され、Pod が以前に削除されたことを示す Pod の NotFound イベントに正常に対応するようになりました。(BZ#1843187)

kube-scheduler

  • 以前のバージョンでは、Pod をドライランモードでエビクトする際に、特定の Descheduler ストラテジーがエビクションを 2 回ログに記録していました。エビクション用に単一のログエントリーのみが作成されるようになりました。(BZ#1841187)

ロギング

  • 以前のバージョンでは、Elasticsearch インデックスメトリクスは、デフォルトで Prometheus によって収集されました。そのため、Prometheus ではインデックスレベルのメトリクスのサイズが原因でストレージがすぐに不足し、ユーザーは Prometheus の機能を維持するために Prometheus の保持時間を短縮するなどして介入する必要がありました。Elasticsearch インデックスメトリクスを収集しないようにデフォルトの動作が変更されました。(BZ#1858249)
  • OpenShift Elasticsearch Operator は Kibana デプロイメントのシークレットハッシュを更新しないため、シークレットが更新されても Kibana Pod は再起動されませんでした。このコードは、デプロイメントのハッシュを正しく更新するように変更され、これは Pod を予想通りに再デプロイされるようにトリガーします。(BZ#1834576)
  • Fluentd init コンテナーの導入により、Fluentd は OpenShift Elasticsearch Operator (EO) をデプロイせずにクラスターにデプロイできませんでした。このコードは、EO のない Fluentd を許可するように変更されました。その結果、Elasticsearch のないクラスターで、Fluentd は予想通りに機能します。(BZ#1849188)
  • iframe で Kibana を開く機能は明示的に拒否されませんでした。そのため、Kibana がクリックジャックなどの攻撃を受ける可能性が生じます。このコードは、iframe の使用をブロックする x-frame-options:deny を明示的に設定するように変更されました。(BZ#1832783)

Machine Config Operator

  • ベアメタル環境では、infra-dns コンテナーは各ホストで実行され、ノード名の解決および他の内部 DNS レコードをサポートします。NetworkManager スクリプトは、infra-dns コンテナーを参照するように、ホストの /etc/resolv.conf も更新します。さらに、Pod が作成されると、ホストから DNS 設定ファイル (/etc/resolv.conf ファイル) を受信します。

    NetworkManager スクリプトがホストの /etc/resolv.conf ファイルを更新する前に HAProxy Pod が作成された場合、api-int 内部 DNS レコードが解決できないために Pod は繰り返し失敗する可能性があります。今回のバグ修正により、Machine Config Operator (MCO) が更新され、HAProxy Pod の /etc/resolv.conf ファイルがホストの /etc/resolv.conf ファイルと同じであることを確認できます。その結果、HAProxy Pod ではこれらのエラーが発生しなくなりました。(BZ#1849432)

  • keepalived は、API とデフォルトルーターの両方に高可用性 (HA) を提供するために使用されます。各ノードの Keepalived インスタンスは、ローカルエンティティーのヘルスエンドポイント (例: kube-apiserver) を curl してローカルの健全性を監視します。以前のバージョンでは、curl コマンドは TCP 接続に失敗する場合にのみ失敗し、HTTP の 200 以外のエラーでは失敗しませんでした。これにより、ローカルエンティティーが正常でなくても、Keepalived が別の正常なノードにフェイルオーバーしない可能性があり、API 要求にエラーが発生しました。

    今回のバグ修正により、Machine Config Operator (MCO) が curl コマンドを変更するように更新され、サーバーが 200 以外のリターンコードを出して応答する場合にも失敗するようになりました。その結果、ローカルエンティティーで障害が発生した場合に、API および Ingress ルーターは正常なノードに正常にフェイルオーバーするようになりました。(BZ#1844387)

  • ベアメタル環境では、IPv4 用に一部の DNS レコードがハードコーディングされていました。これにより、IPv6 環境で一部のレコードが正しく処理されないため、これらのレコードを外部 DNS サーバーで作成する必要が生じる可能性がありました。今回のバグ修正により、Machine Config Operator (MCO) が更新され、DNS レコードは使用中のインターネットプロトコルのバージョンに基づいて正しく設定されるようになりました。これにより、内部レコードが IPv4 と IPv6 の両方で正しく機能するようになりました。(BZ#1820785)
  • 以前のバージョンでは、マシン設定に指定されたカーネル引数は、配列内の個別の引数の文字列に分割する必要がありました。これらの引数は、rpm-ostree コマンドに連結する前に検証されませんでした。カーネルコマンドラインの単一行で許可されるように、スペースを使用して連結した複数のカーネル引数は、無効な rpm-ostree コマンドを作成します。今回のバグ修正により、マシン設定コントローラーが更新され、カーネルと同様の方法でそれぞれの kernelArgument 項目を解析できるようになりました。その結果、ユーザーはエラーを出さずに、スペースを使用して連結した複数の引数を指定できます。(BZ#1812649)
  • 以前のバージョンでは、コントロールプレーンはベアメタル環境でのユーザーワークロードに対して常にスケジュール可能になりました。今回のバグ修正により、Machine Config Operator (MCO) が更新され、コントロールプレーンノードはワーカーを使用する一般的なデプロイメントで NoSchedule として適切に設定されるようになりました。(BZ#1828250)
  • 以前のバージョンでは、Machine Config Operator (MCO) を使用する際に、不要な API VIP の移動により、クライアント接続エラーが発生する可能性がありました。今回のバグ修正により、API VIP ヘルスチェックが更新され、移動する回数を制限できるようになりました。その結果、API VIP の移動によって生じるエラーが少なくなりました。(BZ#1823950)

Web コンソール (Administrator パースペクティブ)

  • Operand のリストビューに Operand タブがありませんでした。今回のバグ修正により、この問題は解決されています。(BZ#1842965)
  • IPv6 が無効になると、ダウンロード Pod ソケットをバインドできず、ダウンロード Pod がクラッシュしました。IPv6 が有効にされていないと、IPv4 がソケットに使用されるようになりました。ダウンロード Pod は、IPv4 および IPv6 を有効にするかどうかに関わらず機能するようになりました。(BZ#1846922)
  • Operator ステータスの表示値は、手動の承認ストラテジーを考慮しませんでした。そのため、upgrade available ステータスが表示され、アップグレードに追加のアクションが必要であることを通知しませんでした。手動の承認のアップグレードを待機する Operator についての新規ステータスメッセージが追加されました。Operator のアップグレードに追加のアクションが必要であることを明確に確認できるようになりました (BZ#1826481)。
  • 失敗したオペランドフォーム送信の catch ロジックは、常に定義される訳ではない生成されるエラーオブジェクトのプロパティーへのアクセスを試行します。特定の失敗した要求タイプでは、ランタイムエラーが発生します。今回のバグ修正により、この問題は解決されています。(BZ#1846863)
  • Victory はすべてがゼロ (0) のデータセットを適切に処理しません。すべてがゼロ (0) のデータセットの Y 軸のティックマークではゼロが繰り返されます。エリアチャートのロジックは、データセットがすべてゼロ (0) の場合に、Y ドメインの [0,1] を強制的に実行するように更新されました。今回のリリースより、すべてがゼロ (0) のデータセットの Y 軸のティッククマークは 0 および 1 になりました。(BZ#1856352)
  • 現時点でインストールされているバージョンは、OperatorHub の Operator の詳細ペインには表示されません。そのため、現在インストールされているバージョンが最新バージョンであるかどうかをユーザーが判断できませんでした。現在インストールされている Operator バージョンが最新バージョンでない場合、インストールされているバージョンが OperatorHub の Operator の詳細ペインに表示されるようになりました。(BZ#1856353)
  • create role binding リンクには、一貫性のない仕方で namespace が使用されたり、クラスターリンクが使用されているため、 create role binding ページは正しくありませんでした。今回のバグ修正により、利用可能な場合に namespace を使用し、別のケースではクラスターを使用するようにリンクが更新されました。正しいページが使用されるようになりました。(BZ#1871996)
  • 以前のバージョンでは、Web コンソールは singlestat パネルの Grafana 値マップに対応しないため、singlestat パネルでは Grafana 値マップを表示できませんでした。サポートが追加され、singlestat パネルに Grafana 値マップを表示できるようになりました。(BZ#1866928)
  • oc debugBZ#1812813 で更新され、oc debug がワーカーノードに対してのみ機能するという問題の回避策として、空のノードセレクターで新規のデバッグプロジェクトを作成できるようになりました。Web コンソールでは、ターミナルが開く前にユーザーが NodeTerminal ページに移動する際に namespace を選択するように指示することで問題を回避できます。この場合、oc とは異なるユーザーエクスペリエンスが提供されます。Web コンソールでは、 NodeTerminal ページへの移動時に空のノードセレクターで新規のデバッグプロジェクトを作成できます。Web コンソールの NodeTerminal ページの動作は、oc debug の動作と連携しています。(BZ#1881953)
  • すべてのレシーバーが削除されると、Web コンソールにランタイムエラーが発生し、ユーザーには空の画面が表示されました。null チェックがコードに追加され、ユーザーには No Receivers の空の状態についての画面が表示されます。(BZ#1849556)
  • 場合によっては、レガシーオペランド作成形式のリソース要件のウィジェットに渡される値が immutablejs マップインスタンスではない可能性があります。リソース要件のウィジェットの現行の値で immutablejs Map.getIn 関数の参照を試行する際にランタイムエラーが出力されました。immutablejs Map.getIn 関数を参照する際にオプションのチェーンを使用します。ランタイムエラーは出力されず、ウィジェットは値なしでレンダリングされます。(BZ#1883679)
  • imagemanifestvuln リソースで検索を使用する場合にブランクページが表示されました。コンポーネントは props.match.params.ns を使用しており、これは定義されていないことがありました。その結果、ランタイムエラーが生じました。この問題は解決されています。(BZ#1859256)
  • 以前のバージョンでは、オペランド一覧の右側のアクションメニューは、メニューが開かれた直後に閉じられました。これは、Operator が提供する API のタブのいずれかをクリックし、Installed Operators の詳細ページで確認できます。このメニューは正常に機能し、ユーザーの対話なしに閉じられることはなくなりました。(BZ#1840706)
  • API にキーワードフィールドがないため、ユーザーは OperatorHub のキーワードで検索できませんでした。今回のバグ修正により、この問題は解決されています。(BZ#1840786)
  • 以前のバージョンでは、Web コンソールの OperatorHub に Operator の誤ったアイコンが表示されることがありました。この問題は本リリースでは解決されています。(BZ#1844125)
  • 今回のリリースでは、Web コンソールの OperatorHub インストールページからクラスターモニターリングドキュメントへの破損していたリンクが修正されました。(BZ#1856803)
  • 以前のバージョンでは、EtcdRestores ページの Create EtcdRestore をクリックすると、Web コンソールの応答が停止しました。今回のリリースにより、Create EtcdRestore フォームビューのワークフローが正しく読み込まれるようになりました。(BZ#1845815)
  • 以前のバージョンでは、Operand フォーム配列およびオブジェクトフィールドには、フォームでフィールドの説明を取得し、表示するロジックがありませんでした。そのため、配列またはオブジェクトタイプのフィールドの説明はレンダリングされませんでした。今回のバグ修正により、配列およびオブジェクトフィールドの説明が Operand 作成フォームで表示されるようになりました。(BZ#1854198)
  • 以前のバージョンでは、Deployment Configuration Overview ページは、新規 Pod の起動時に、e is undefined エラーを出してクラッシュしました。この問題は本リリースでは解決されています。(BZ#1853705)
  • 以前のバージョンでは、OpenShift Dedicated ユーザーはクラスターのアップグレードを実行できない場合でも、Web コンソールのクラスターアップグレードインターフェイスが OpenShift Dedicated に表示されました。クラスターアップグレードインターフェイスは OpenShift Dedicated で非表示になりました。(BZ#1874257)
  • 以前のバージョンでは、オペランドテンプレートの空のオブジェクトは、フォームの送信またはフォームと YAML ビュー間の切り替え時にプルーニングされました。今回のリリースにより、フォームデータから空の構造をプルーニングする際にテンプレートデータがマスクとして使用され、テンプレートに定義されていない値のみがプルーニングされるようになりました。テンプレートで定義される空の値はそのままになります。(BZ#1847921)
  • ツールチップの詳細は、クラスターロギング のドーナツチャートにカーソルを合わせと切り捨てられることがありました。今回のバグ修正により、ツールチップの詳細全体がこのチャートに表示されるようになりました。(BZ#1842408)
  • Create Instance ページの Registry フィールドでは、スキーマプロパティーの説明の一部のテキストと、Linkify でファジーなハイパーリンクの作成に使用される形式が一致していました。そのため、意図しないハイパーリンクが生成されました。今回のバグ修正により、Linkify のファジーなリンクの機能が無効にされました。適切なプロトコルスキームを使用する URL 文字列のみがハイパーリンクとしてレンダリングされるようになりました。(BZ#1841025)
  • ListDropdown コンポーネントがロード中の状態にない場合でも、AWS の Secret フィールドには常にロード中であることを示すアイコンが表示されます。今回のバグ修正により、コンポーネントのロジックが修正され、ドロップダウンリストが ロード中の状態にある場合にのみロード中であることを示すアイコンが表示されるようになりました。プレースホルダーは、ドロップダウンリストがロード中の状態にない場合に表示されます。(BZ#1845817)
  • 以前のバージョンでは、ログに長い行が含まれる場合に、Web コンソールの Resource Log ページが遅くなり、応答しなくなりました。今回のバグ修正により、Resource Log ページに表示されるログ行ごとに文字数を制限し、完全なログコンテンツを表示する代替方法を提供することで、パフォーマンスの問題が修正されました。(BZ#1874558)
  • 以前のバージョンでは、クエリーが間違っているため、Used および Total のノードファイルシステム計算が正しくありませんでした。今回のリリースより、クエリーが更新され、データが正しく計算されるようになりました。(BZ31874028)
  • Web コンソールの Overview ページには、ネットワーク使用率データを表示するためのコンテナーレベルの使用状況メトリクスが誤って含まれていました。今回のバグ修正により、正しくないメトリクスをノードレベルの使用状況メトリクスに置き換え、ネットワーク使用率データを正確に表示できるようになりました。(BZ#1855556)
  • 以前のバージョンでは、Operator の Created At タイムスタンプの形式は特定の形式を必要とせず、Web コンソールでタイムスタンプが一貫性のない状態で表示されました。Created At タイムスタンプの値が Operator の有効な日付として入力されると、コンソールの他のタイムスタンプと一貫性のある状態でタイムスタンプが表示されるようになりました。有効な日付形式で値を入力しない場合、Created At タイムスタンプは無効な文字列として表示されます。(BZ#1855378)
  • Web コンソールには、OperatorHub の古いロゴが表示されました。今回のバグ修正により、古いロゴが現在のロゴに置き換えられました。(BZ#1810046)
  • 以前のバージョンでは、Web コンソールで Operator リソースのフィールド名が camelCase または Start Case として一貫性のない状態で表示されました。今回のリリースより、オペランドフォーム生成ロジックで、デフォルトで Start Case を使用してフォームフィールドにラベル付けされるようになりました。デフォルトは CSV または CRD オブジェクトで上書きできます。(BZ#1854196)
  • 以前のバージョンでは、Resource Log ビューには単一行ログが表示されず、改行制御文字 (/n) がない場合は Pod ログの最後の行が表示されませんでした。ログビューが更新され、単一行ログおよび改行文字で終了されない最終行について Pod ログの内容全体が表示されるようになりました。(BZ#1876853)
  • 以前のバージョンでは、OpenShift Container Platform Web コンソールの YAML エディターではすべてのリソースの metadata.namespace エントリーが許可されていました。namespace: <namespace> が namespace 値を取らないリソースについて追加される場合に、エラーが返されました。metadata.namespace エントリーは、リソースが namespace の値を取らない場合、設定の保存時に削除されるようになりました。(BZ#1846894)
  • 以前のバージョンでは、名前値エディターの削除アイコン (-) がツールチップを提供しないため、ユーザーはこのアイコンの内容を明確に把握できませんでした。削除アイコン (-) で、アクションを明確にするツールチップを提供するようになりました。(BZ#1853706)
  • 以前のバージョンでは、( および ) などの特殊文字を含むリソース名により、リソースの詳細が OpenShift Container Platform コンソールに表示できなくなる可能性がありました。リソース名に特殊文字が含まれる場合も、リソースの詳細が適切に表示されるようになりました。(BZ#1845624)

モニターリング

  • 以前のバージョンでは、Prometheus の設定のリロードは、設定が完全に生成されていない間にトリガーされることがありました。これにより、収集またはアラートターゲットがないことから PrometheusNotIngestingSamples および PrometheusNotConnectedToAlertmanagers アラートがトリガーされました。設定のリロードプロセスでは、Prometheus をリロードする前にディスクの設定が有効になり、アラートが実行されないようになりました。(BZ#1845561)
  • 以前のバージョンでは、AlertmanagerConfigInconsistent アラートは、 Alertmanager Pod の一部がステートフルセットのローリング更新のために一時的に実行されないために、アップグレード時に実行される可能性がありました。アラート自体が解決しても、これによってクラスター管理者に混乱をきたす可能性があります。AlertmanagerConfigInconsistent は実行中の Alertmanager Pod を考慮しなくなり、一部の Alertmanager Pod が実行されていない、一時的な状態にある場合のアップグレード時に実行されなくなりました。(BZ#1846397)
  • 以前のバージョンでは、一部のアラートに正しい重大度が設定されておらず、正しくないものもあり、これによりアップグレードの問題が発生しました。多くのアラートの重大度レベルは、critical から warning に変更され、KubeStatefulSetUpdateNotRolledOut および KubeDaemonSetRolloutStuck アラートは調整され、KubeAPILatencyHigh および KubeAPIErrorsHigh アラートは削除されました。これらのアラートは適切であるため、アップグレードの問題が発生しなくなるはずです。(BZ#1824988)
  • 以前のバージョンでは、KubeTooManyPods アラートは kubelet_running_pod_count を使用しました。これには、完了した Pod が含まれ、KubeTooManyPods アラートについては正しくない情報が含まれました。KubeTooManyPods アラートのノードで実行させる Pod の実際の数を確認するために container_memory_rss を使用できます。(BZ#1846805)
  • 以前のバージョンでは、node_exporter デーモンはデフォルトで maxUnavailable 値の 1 に設定されており、ロールアウトは完全にシリアライズされ、大規模なクラスターの場合には速度が遅くなりました。node_exporter デーモンセットはワークロードの可用性に影響しないため、maxUnavailable はクラスターサイズでスケーリングし、ロールアウトが高速になりました。(BZ#1867603)

ネットワーク

  • 今回のリリースにより、Kuryr-Kubernetes は kuryr.conf に設定した値を使用するのではなく、Container Network Interface (CNI) レベルの Pod サブポートのブリッジインターフェイスの検出を試行するようになりました。この方法は、kuryr.conf に設定された値を使用せずに仮想マシンがインターフェイスを呼び出す場合に対応します。(BZ#1829517)
  • 以前のバージョンでは、OpenShift SDN は HTTP で暗号化されていないメトリクスを公開していました。OpenShift SDN は TLS 経由でメトリクスを公開するようになりました。(BZ#1809205)
  • 以前のバージョンでは、サービスの OpenShift SDN をアイドリングする際に、サービスおよびそのエンドポイントを常に正しい順序で削除しませんでした。そのため、サービスのノードポートが削除されないことがありました。サービスが再びスケールアップされると、それは到達不可能になります。OpenShift SDN では、ノードポートが常に適切に削除されるようにするようになりました。(BZ#1857743)
  • 以前のバージョンでは、レガシーの iptables バイナリーの依存関係がないために、egress ルーター Pod は初期化に失敗しました。egress ルーター Pod が正常に初期化されるようになりました。(BZ#1822945)
  • 以前のバージョンでは、OVN-Kubernetes クラスターネットワークプロバイダーを使用しているクラスターでネットワークポリシーを削除する際に、競合状態により、関連付けられた namespace の削除時にネットワークポリシーが削除されませんでした。ネットワークポリシーオブジェクトは常に正しく削除されるようになりました。(BZ#1859682)
  • 以前のバージョンでは、マルチテナント分離モードで OpenShift SDN Pod ネットワークプロバイダーを使用する場合、Pod は externalIPs が設定されたサービスに到達できませんでした。Pod は、サービス外部 IP アドレスが設定されたサービスに到達できるようになりました。(BZ#1762580)
  • 以前のバージョンでは、OVN-Kubernetes は HTTP で暗号化されていないメトリクスを公開しました。OVN-Kubernetes は TLS 経由でメトリクスを公開するようになりました。(BZ#1822720)
  • 以前のリリースでは、Red Hat OpenStack Platform 上の OpenShift Container Platform では、OVN-Octavia ドライバーを使用する場合にリスナーを同じポート上の異なるプロトコルに割り当てることができませんでした。複数のプロトコルを同じポートで公開できるようになりました。(BZ#1846396)

ノード

  • 以前のバージョンでは、ソフトエビクションのしきい値および猶予期間が指定されていない場合に、Kubelet の起動に失敗しました。今回のリリースにより、Kubelet の設定時にこれらの値が存在することが検証されるようになりました。(BZ#1805019)
  • ユーザーは、負の値や数字以外の文字などの無効な文字を kubeconfig オブジェクトの CPU およびメモリー要求に入力する可能性があると、kubelet は起動しませんでした。コードは、kubelet 設定のメモリー要求値が有効であることを確認するように変更されました。その結果、無効な値が拒否されます。(BZ#1745919)
  • 以前のバージョンでは、システムがルートデバイスのデバイスマッパーを使用している場合、cadvisor によって返されるキーホストレベルの IO メトリクスの数がゼロに設定されませんでした。cadvisor は、デバイスマッパーが root に使用される場合にこのメトリクスを報告するように修正されました。(BZ#1831908)

oauth-apiserver

  • 以前のバージョンでは、認証 Operator が Accept: application/json ヘッダーを無視する OpenID Connect Authentication (OIDC) サーバーから HTML ペイロードを受信すると、Operator はペイロードについてのエラーをログに記録しました。Operator には、OIDC サーバーの応答のトラブルシューティングに使用するために要求したページの URL が含まれるようになりました。(BZ#1861789)

oc

  • 以前のバージョンでは、oc project コマンドには self-provisioner ロールの権限がプロジェクトを切り替えるために必要でした。つまり、ユーザーによっては、そのロールがない場合にプロジェクトを切り替えることができませんでした。self-provisioner ロールの要件は取り除かれ、プロジェクトにアクセスできるすべてのユーザーは oc project を使用してプロジェクトを切り替えることができます。(BZ#1849983)
  • 以前のバージョンでは、空の lastTimestamp を持つイメージを並べ替える際に、lastTimestamp でのイベントの並べ替えによりエラーが生じる可能性がありました。並べ替えは空の要素に対しても機能し、lastTimestamp で並び換えを実行しても適切に機能します。(BZ#1880283)
  • 以前のバージョンでは、oc create job コマンドに --save-config フラグのロジックがないため、--save-config オプションは予想通りに機能しませんでした。--save-logic フラグについてロジックが追加され、正常に機能するようになりました。(BZ#1844998)

OLM

  • Operator Lifecycle Manager (OLM) は、サブスクリプション CRD の subscription.spec.config.nodeSelector フィールドを公開しましたが、以前は ClusterServiceVersion オブジェクト (CSV) で定義されたデプロイメントに nodeSelectors ラベルを適用しませんでした。これにより、ユーザーは CSV デプロイメントに nodeSelectors を設定できませんでした。今回のバグ修正により、subscription.spec.config.nodeSelector フィールドに定義される nodeSelector ラベルが CSV のデプロイメントに伝播するように OLM が更新されました。その結果、フィールドが予想通りに機能するようになりました。(BZ#1860035)
  • 以前のバージョンでは、Operator Lifecycle Manager (OLM) は、installing フェーズに入る ClusterServiceVersion オブジェクト (CSV) を複数回インストールする場合も、既存の有効な CA 証明書を再利用しませんでした。OLM は新規の Webhook ハッシュをデプロイメントに適用し、新しいレプリカセットが作成されます。その後、実行中の Operator は再デプロイされ、インストール時に複数回デプロイされる場合もあります。今回のバグ修正により OLM が更新され、CA がすでに存在しているかどうかを確認し、有効な場合はこれを再利用できるようになりました。その結果、OLM が既存の有効な CA を検出すると、OLM が CA を再利用できるようになりました。(BZ#1868712)
  • Operator Lifecycle Manager (OLM) は、API サービスを提供する Operator 用にインストールされたサービスリソースに OwnerReferences メタデータを追加します。以前のバージョンでは、このクラスの Operator が証明書のローテーション時に OLM によって再デプロイされると、重複する OwnerReference が関連するサービスに追加され、これにより、 OwnerReferences の数がバインドされなくなりました。今回のバグ修正により、OwnerReferences を追加する際に、OLM は (見つかる場合に) 既存の OwnerReference を更新するようになりました。その結果、OLM によってサービスに追加される OwnerReferences の数がバインドされます。(BZ#1842399)
  • Operator Lifecycle Manager (OLM) は、バンドルイメージを展開する前にこれらをプルすることができませんでした。そのため、opm alpha bundle validate コマンドが image not found または同様のエラーで失敗しました。今回のバグ修正により、OLM がバンドルバリデーターの展開を試行する前にバンドルイメージをプルできるようになりました。その結果、opm alpha bundle validate コマンドは、検証を実行する前にイメージを正常にプルし、展開できます。(BZ#1857502)
  • 以前のバージョンでは、Web コンソールでは、パッケージで宣言された最初のチャネルからのアイコンを返して、OperatorHub に表示される Operator アイコンを選択していました。これにより、表示されるアイコンがパッケージに公開される最新のアイコンとは異なる場合がありました。これは、デフォルトのチャネルからアイコンを選択することにより修正され、最新のアイコンが表示されるようになりました。(BZ#1843652)
  • 以前のバージョンでは、podman または docker ツールオプションを使用する場合に、ホワイトアウトファイルが展開されたコンテンツに表示されていました。今回のリリースにより、podman および docker のツールオプションで展開した後に、ホワイトアウトファイルは存在しなくなります。(BZ#1841178)

openshift-controller-manager

  • 以前のバージョンでは、API サーバーで断続的に可用性の問題が生じると、OpenShift Controller Manager Operator がデプロイメントを取得する際に断続的な問題が生じる可能性がありました。デプロイメントの取得に失敗したために Operator がパニックを引き起こすことがありました。今回のリリースにより、このエラー状態を処理し、報告し、操作を再試行するためのチェックが追加されました。Operator は、API サーバーからのデプロイメントを取得する断続的な問題を適切に処理するようになりました。(BZ#1852964)

RHCOS

  • 以前のリリースでは、DHCP を使用しないネットワーク上で NIC が多数あるマシンを起動するのに時間がかかりました。これは、マシン上のすべてのインターフェイスで、一度に 1 つのインターフェイスで DHCP を起動しようとする従来のネットワークスクリプトを使用する initramfs によって生じました。initramfs は、レガシースクリプトの代わりに NetworkManager を使用するようになりました。NetworkManager は、物理接続を持たないインターフェイスで DHCP を試行しません。NetworkManager は、1 度に 1 つではなく、インターフェイスで並行して DHCP を試行します。これらの変更により、DHCP のタイムアウトの待機時間が短縮されます。(BZ#1836248)
  • 以前のバージョンでは、インストール時にカーネル引数を変更することができませんでした。カーネル引数は、coreos-installer コマンドを使用してインストール済みのシステムで変更することができます。たとえば、以下を使用して、インストール済みのシステムを、別のシリアルコンソール引数を使用するように設定できます。

    $ coreos-installer install ... \
     --delete-karg console=ttyS0,115200n8 \
     --append-karg console=ttyS1,115200n8

    (BZ#1712511)

  • MCO がワーカーノードのデプロイに使用される場合、Ignition 設定でユーザー定義の iSCSI イニシエーター名が自動的に動的に生成される名前に置き換えられるため、このファイルのロードに失敗しました。iSCSI イニシエーター名は、Ignition 設定で名前が指定されない場合にのみ動的に生成されるようになりました。(BZ#1868174)
  • プロビジョニング時の Azure 仮想マシンへの手動による変更により、インカーネーション番号が変更され、インカーネーション番号の不一致により afterburn の読み取り状態のレポートが失敗しました。Afterburn は、準備状態になる直前に新規のインカーネーション番号がフェッチするようになりました。(BZ#1853068)
  • ボンディングインターフェイスなどの一部のインターフェイスがコンソールで表示されませんでした。NetworkManager のディスパッチスクリプトは、以前に使用された Udev ルールに置き換わりました。今回の修正により、永続的なハードウェアアドレスを持つネットワークインターフェイスや、コンソールで表示する永続的なハードウェアアドレスを持つデバイスでサポートされるネットワークインターフェイスが有効になりました。(BZ#1866048)

ルーティング

  • 以前のバージョンでは、HAProxy ルーター 503 ページは一部の Web アプリケーションのファイアウォールで使用される標準に準拠しませんでした。この問題を解決するために 503 ページが更新されました。(BZ#1852728)
  • Ingress Operator が NodePortService エンドポイント公開ストラテジータイプに設定された IngressController オブジェクトを調整すると、Operator は ingress コントローラーの NodePort サービスを API から取得し、Operator がサービスを作成するか、または更新する必要であるかどうかを判別します。サービスが存在しない場合は、Operator は spec.sessionAffinity フィールドの空の値を使用してこれを作成します。サービスが存在する場合、Operator はこれを Ingress Operator が予想する対象と比較し、そのサービスに更新が必要であるかどうかを判別します。この比較では、API にサービス spec.sessionAffinity フィールドのデフォルト値 None を設定すると、Operator は更新を検出し、spec.sessionAffinity フィールドを空の値に戻します。

    これにより、Ingress Operator は空白に対して NodePort サービスの更新を繰り返し試行します。Ingress Operator は、NodePort サービスを比較する際に指定されていない値とデフォルト値が等しいと見なすように変更されました。Operator は API のデフォルトへの対応として、 Ingress Controller NodePort サービスを更新しなくなりました。(BZ#1842742)

  • 以前のバージョンでは、ルートが正しくない状態でクラスターを更新した場合、HAProxy は非アクティブな状態に初期化されました。ただし、アップグレードはアラートをトリガーせず、クラスターは Ingress コントローラーを利用可能と誤って報告しました。ルートが破損したアップグレードに失敗するように、HAProxy の初期の同期ロジックが修正されました。その結果、ルートが正しくないクラスターのアップグレードは成功せず、HAProxyReloadFail または HAProxyDown アラートが報告されます。(BZ#1861455)
  • HTTP/2 ALPN を使用する際に接続の再使用/結合についてのリスクがあるため、カスタム (ワイルドカード以外の) 証明書を使用するルートでのみ HTTP/2 ALPN を有効にするために使用する警告メッセージが CLI の Ingress コントローラーの出力に追加されました。そのため、独自のカスタム証明書を持たないルートは、フロントエンドまたはバックエンドのいずれかで HTTP/2 ALPN で有効にされません。(BZ#1827364)
  • 以前のバージョンでは、HAProxy がリロードされると、HAProxy Prometheus カウンターメトリクスの値が減少し、これによりカウンターメトリクス定義の明示的な違反が生じました。ルーターコードは、最後のメトリクス収集のタイミングを記録するように修正されました。これにより、リロード時に保持されたカウンター値以外の収集を防ぐことができます。その結果、カウンターメトリクスには、ルーターの再読み込み時の減少の後に続く急な増加が表示されません。(BZ#1752814)

サンプル

  • 以前のバージョンでは、Samples Operator のアラートルールの registry.redhat.io ホスト名のスペルに誤りがありました。ルールは、アラートメッセージで正しいホスト名を使用するようになりました。(BZ#1863014)
  • 以前のバージョンでは、OpenShift Container Platform をアップグレードする際に、Samples Operator は API サーバーが断続的に利用不可になる場合にアップグレードをブロックする可能性がありました。Operator は断続的な接続を正常に処理し、アップグレードがブロックされなくなりました。(BZ#1854857)

ストレージ

  • ローカルストレージ Operator ロギングのエラーメッセージの内容はあまりに一般的であり、デバッグに役立ちませんでした。LocalVolume オブジェクトが作成され、指定されたデバイスが見つからないか、または無効な場合に、詳細情報が提供されるようになりました。(BZ#1840127)
  • ストレージ Operator は v1alpha1 CRD で Upgradable=False が設定されている場合に調整を停止しました。そのため、Cluster Storage Operator はこれらの CRD がクラスターで検出される際に z-stream のアップグレードを実行できませんでした。今回の修正により、調整ループの順序が変更されました。z-stream のアップグレードが正常に完了し、v1alpha1 CRD がエラーなしで検出されるようになりました。(BZ#1873299)
  • 再起動プロセスで新規 IP アドレスを Pod に割り当てるため、Manila ボリュームは NFS ドライバー Pod の再起動後にアンマウントできませんでした。Pod は、ドライバー Pod の再起動後も、ホストネットワークおよびホスト IP アドレスを使用してボリュームをマウントおよびアンマウントするようになりました。(BZ#1867152)
  • 今回のバグ修正により、小規模ボリュームの fsGroup を変更する際に不要なログが減少します。(BZ#1877001)
  • vSphere クラウドプロバイダーの条件により、負荷が大きいことを原因として、稀な状況下で永続ボリュームのプロビジョニングが失敗する可能性がありました。今回のバグ修正により条件が修正され、vSphere ボリュームを確実にプロビジョニングできるようになりました。(BZ#1806034)
  • OCP 4.3.z から 4.4.0 へのアップグレードは、クラスターで v1alpha1 VolumeSnapshot CRD を手動でインストールした場合や、それらが独立した CSI ドライバーによってインストールされている場合に失敗します。OpenShift Container Platform 4.4 では v1beta1 VolumeSnapshot CRD が導入されましたが、これは v1alpha1 VolumeSnapshot CRD と互換性がありません。Cluster Storage Operator は v1alpha1 VolumeSnapshot CRD の有無をチェックするようになりました。検出されると、アップグレードを続行するために v1alpha1 VolumeSnapshot CRD を削除する必要があることを示すメッセージが表示されます。(BZ#1835869)
  • VolumeSnapshotContent オブジェクトの削除ポリシーが変更されると、 VolumeSnapshot リソースインスタンスは、これらのインスタンスに関連するファイナライザーが更新されないために削除できませんでした。今回のバグ修正により、VolumeSnapshotContent オブジェクトの削除ポリシーが変更されるとファイナライザーが削除され、関連付けられたリソースオブジェクトの削除後に VolumeSnapshot リソースインスタンスを削除できるようになりました。(BZ#1842964)
  • 以前のバージョンでは、デフォルトの OpenShift RBAC ルールでは、通常のユーザーが VolumeSnapshot および VolumeSnapshotClass リソースにアクセスしたり、作成したりすることができませんでした。デフォルトの OpenShift RBAC ルールは、basic-users による VolumeSnapshot リソースの読み取り/書き込みを許可し、VolumeSnapshotClass リソースの読み取りを許可します。さらに、storage-admins はデフォルトで VolumeSnapshotContent オブジェクトの読み取り/書き込みが可能です。(BZ#1842408)
  • 以前のバージョンでは、ローカルストレージ Operator が 1 つのデバイスを複数の PV に作成することを防ぐための検証は行われませんでした。今回のリリースにより、このシナリオの検証が追加され、ローカルストレージ Operator によってすでにプロビジョニングされているブロックデバイスで PV の作成を試行すると失敗するようになります。(BZ#1744385)

Insights Operator

  • 以前のバージョンでは、Insights Operator は単一のレポートで証明書署名要求 (CSR) を数の制限なく収集することができました。これにより、多くの CSR を持つクラスターについて過剰なデータ収集が発生していました。Insights Operator は、単一のレポートで最大 5000 CSR のデータを収集するようになりました。(BZ#1881044)