1.6. Red Hat OpenShift Pipelines 1.19.4 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.19.4 が OpenShift Container Platform 4.16 以降のバージョンで利用できるようになりました。
1.6.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Pipelines
- Git リゾルバーがクラスターのカスタム PKI で証明書を無視しなくなりました。
- この更新前は、リグレッションエラーが原因で、Git リゾルバーが OpenShift Proxy カスタム設定された PKI を使用しなくなりました。これにより、Git リゾルバーがセルフホスト Git プロバイダーへの参照を解決できませんでした。今回の更新により、OpenShift Proxy で設定された完全な認証局(CA)バンドルは、Git リゾルバーを含むすべてのコンポーネントのシステムによって信頼されるようになりました。
- 無効なマトリクス変数置換を使用して Pipeline を検証するときにオペレーターがパニックにならない
-
今回の更新以前は、無効な変数または結果参照を持つマトリクスされたタスクを含む
v1beta1API を使用するPipelineリソースが原因で、Operator 検証 Webhook がパニックになっていました。これは、v1beta1検証ロジックがマトリックスパラメーター内で不正な結果置換を解決しようとし、範囲外のインデックスエラーが発生し、Webhook がクラッシュするために発生しました。その結果、Pipelineの作成は、適切な検証エラーを返す代わりに内部エラーで失敗しました。今回の更新により、検証ロジックが無効な結果参照を正しく検出し、標準の検証エラーでPipelineリソースを拒否し、Operator のパニックが発生しないようにします。
Operator
- Webhook の検証によりコントロールプレーン namespace が中断されなくなる
-
この更新の前は、
tekton-operator-proxy-webhook受付 Webhook は control-plane namespace (kube-*,openshift-*)を含むすべての namespace を検証していました。この動作により、namespace の調整中に、Webhook 証明書の問題がネットワーク Operator などの無関係のシステムコンポーネントに影響を及ぼす可能性がありました。今回の更新により、Webhook は control-plane namespace を検証から除外します。この変更により、証明書の問題が他のクラスター Operator に影響を与えるのを防ぎ、既存の証明書の更新ロジックをそのまま維持し、Tekton とシステムコンポーネントの分離が改善されます。
Pipelines as Code
- リビジョン変数が間違ったコミット SHA を返さなくなりました
-
この更新の前は、OpenShift Pipelines 1.19 にアップグレードした後、Pipelines as Code 動的変数
リビジョンは、最新の HEAD マージコミットではなく、元のコミットの SHA を返していました。今回の更新で、revision変数は期待どおりに HEAD マージコミットの SHA を常にフェッチするようになりました。 - Bitbucket Data Center が不正なユーザーの実行ステータスを誤って報告しなくなりました
-
今回の更新以前は、Bitbucket Data Center で許可されていないユーザーがプルリクエストを開くと、CI ステータスが
PendingではなくRunningと誤って報告していました。今回の更新により、管理者の承認を待っている間、ステータスはPendingを正しく報告するようになりました。 - パーサーが、Tekton 以外のリソースに対する誤った障害報告をスローしなくなりました
-
この更新の前は、
.tektonディレクトリーに保存されている Tekton 以外のリソースが原因で、誤検知の失敗レポートが発生していました。パーサーはすべてのファイルをアンマーシャリングしようとし、認識されないリソース(ImageDigestMirrorSetなど)を検出すると、エラーが生成され、それ以外の場合は成功したプルリクエストに対して "PipelineRun failure" コメントが誤解を招く原因となっていました。今回の更新により、パーサーは Tekton 以外のリソース のアンマーシャリングエラーを正しく無視するようになりました。これにより、関連性のないファイルが誤った障害をトリガーしないようにし、プルリクエストのノイズを減らします。 - prioritySemaphore 実装では、パイプライン実行の同時停止がなくなりました。
- 今回の更新以前は、優先度ベースのセマフォメカニズムに欠陥により、同時パイプラインがハングしたり、負荷がかかったり、負荷どおりに動作したりする可能性がありました。これらの問題は、誤ったロック処理、共有データへのアクセス、および不適切な管理キュー操作によって引き起こされました。今回の更新により、ロックモデルが強化され、共有データアクセスが完全に同期され、キュー操作が安全に処理されるようになりました。semaphore メカニズムは、同時パイプラインの実行を確実に管理し、デッドロック、競合状態、およびランタイムエラーを回避するようになりました。
ユーザーインターフェイス
- 誤ったソートロジックが PipelineRun 期間表示に影響しなくなる
-
この更新前は、
PipelineRunを期間別に並べ替えると、実際の期間値ではなく文字列のソートが使用されていたため、誤解を招く結果が発生していました。今回の更新により、status.completionTimeとstatus.startTimeの違いを使用して、期間を秒単位でソートするようにロジックが更新されました。 - 空のデフォルトアレイを持つタスクパラメーターが検証をトリガーしなくなりました
-
今回の更新以前は、デフォルトが
['']であるタスクパラメーターの検証チェックが誤ってトリガーされていました。これにより、デフォルトのBUILD_ARGSパラメーターでBuildahタスクを保存しないようにするなど、Pipeline Builder UI で問題が発生しました。今回の更新により、チェックが削除され、空のデフォルトアレイであってもタスクが正しく保存できるようになりました。 - コンソール UI が PipelineRun ステータスを誤ってキャンセルとして表示しなくなりました。
-
この更新前は、
PipelineRunのステータス理由CancelledRunFinallyがあり、複数の finally タスクが含まれている場合、finallyタスクで失敗した場合は、コンソール UI がCancelledではなくPipelineRunステータスを誤って表示していました。この更新により、問題が修正されました。 - パイプラインビルダー UI は、namespace 間で古いタスクパラメーターを表示しなくなりました。
- この更新の前は、Pipeline Builder UI は、異なる namespace 間で同じ名前を共有するタスクの古いまたは誤ったパラメーターデータを表示する可能性がありました。これにより、無効な設定でパイプラインが意図せず保存され、パイプラインが失敗する可能性がありました。今回の更新により、Pipeline Builder サイドパネルには、YAML エディターに表示されるデータと一致する、選択した namespace のタスクのパラメーターが正しく表示されるようになりました。namespace 間のタスク参照は安全に解決され、競合を回避し、一貫した正確なタスクパラメーター表示を確保できるようになりました。
- OpenShift Pipelines コンソールの YAML ビューが更新に失敗しなくなる
-
今回の更新以前は、OpenShift Pipelines Console の YAML エディターで行った変更が適切に同期されませんでした。YAML の更新は変更を直ちに反映せず、パイプラインはコンポーネントの再マウントまたはスイッチングビューの再マウント後にのみ作成できました。今回の更新により、YAML エディターは
useEffectフックを使用して変更を正しく同期するようになりました。これにより、回避策なしに YAML エディターから直接パイプラインを作成できるようになりました。