1.12. Red Hat OpenShift Pipelines テクノロジープレビュー 1.2 のリリースノート
1.12.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.2 が OpenShift Container Platform 4.6 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.2 が以下をサポートするように更新されています。
- Tekton Pipelines 0.16.3
-
Tekton
tknCLI 0.13.1 - Tekton Triggers 0.8.1
- Tekton Catalog 0.16 をベースとするクラスタータスク
- OpenShift Container Platform 4.6 での IBM Power Systems
- OpenShift Container Platform 4.6 での IBM Z および LinuxONE
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.2 の主な新機能について説明します。
1.12.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。
注記制限された環境でのインストールは現時点で、IBM Power Systems、IBM Z、および LinuxONE ではサポートされていません。
-
conditionsリソースの代わりにwhenフィールドを使用して、特定の条件が満たされる場合にのみタスクを実行できるようになりました。WhenExpressionの主なコンポーネントはInput、Operator、およびValuesです。すべての When 式がTrueに評価されると、タスクが実行されます。When 式のいずれかがFalseに評価されると、タスクはスキップされます。 - ステップのステータスは、タスクの実行がキャンセルまたはタイムアウトすると更新されるようになりました。
-
git-initが使用するベースイメージをビルドするために、Git Large File Storage (LFS) のサポートが利用できるようになりました。 -
taskSpecフィールドを使用して、タスクがパイプラインに組み込まれる際に、ラベルやアノテーションなどのメタデータを指定できるようになりました。 -
クラウドイベントがパイプラインの実行でサポートされるようになりました。
backoffを使用した再試行が、クラウドイベントパイプラインリソースによって送信されるクラウドイベントに対して有効になりました。 -
Taskリソースが宣言するものの、TaskRunリソースが明示的に指定しないワークスペースのデフォルトのWorkspace設定を設定できるようになりました。 -
サポートは、
PipelineRunnamespace およびTaskRunnamespace の namespace 変数の補間に利用できます。 -
TaskRunオブジェクトの検証が追加され、TaskRunリソースが Affinity Assistant に関連付けられる際に複数の永続ボリューム要求 (PVC) ワークスペースが使用されていないことを確認するようになりました。複数の永続ボリューム要求 (PVC) ワークスペースが使用されていると、タスクの実行はTaskRunValidationFailedの状態で失敗します。デフォルトで、Affinity Assistant は Red Hat OpenShift Pipelines で無効にされているため、これを使用できるように有効にする必要があります。
1.12.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
tkn task describe、tkn taskrun describe、tkn clustertask describe、tkn pipeline describe、およびtkn pipelinerun describeコマンドが以下を実行するようになりました。-
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースのいずれかが 1 つしかない場合、それぞれを自動的に選択します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースの結果をそれぞれ表示します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースで宣言されたワークスペースをそれぞれ表示します。
-
-
tkn clustertask startコマンドに--prefix-nameオプションを指定して、タスク実行の名前に接頭辞を指定できるようになりました。 -
インタラクティブモードのサポートが
tkn clustertask startコマンドに提供されるようになりました。 -
TaskRunおよびPipelineRunオブジェクトのローカルまたはリモートファイル定義を使用して、パイプラインでサポートされるPodTemplateプロパティーを指定できるようになりました。 -
--use-params-defaultsオプションをtkn clustertask startコマンドに指定して、ClusterTask設定に設定したデフォルト値を使用して、タスク実行を作成できるようになりました。 -
tkn pipeline startコマンドの--use-param-defaultsフラグで、デフォルトの値が一部のパラメーターに指定されていない場合に対話モードをプロンプトで表示するようになりました。
1.12.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
YAML 文字列を文字列のマップに解析するために、
parseYAMLという名前の Common Expression Language (CEL) 関数が追加されました。 - 式を評価する際や、評価環境を作成するためにフック本体を解析する際に、CEL 式の解析を行うエラーメッセージの詳細度が上がりました。
- ブール値とマップが CEL オーバーレイメカニズムで式の値として使用されている場合に、それらをマーシャリングするためのサポートが利用できるようになりました。
以下のフィールドが
EventListenerオブジェクトに追加されました。-
replicasフィールドは、YAML ファイルのレプリカ数を指定して、イベントリスナーが複数の Pod を実行できるようにします。 -
NodeSelectorフィールドでは、EventListenerオブジェクトがイベントリスナー Pod を特定のノードにスケジュールできるようにします。
-
-
Webhook インターセプターは
EventListener-Request-URLヘッダーを解析し、イベントリスナーによって処理される元のリクエスト URL からパラメーターを抽出できるようになりました。 - イベントリスナーからのアノテーションがデプロイメント、サービス、およびその他の Pod に伝播できるようになりました。サービスまたはデプロイメントのカスタムアノテーションは上書きされるため、イベントリスナーアノテーションに追加して伝播できるようにする必要があります。
-
EventListener仕様のレプリカの適切な検証が、ユーザーがspec.replicas値をnegativeまたはzeroとして指定する場合に利用できるようになりました。 -
TriggerCRDオブジェクトを、TriggerRefフィールドを使用して参照としてEventListener仕様内に指定し、TriggerCRDオブジェクトを別個に作成してから、これをEventListener仕様内でバインドできるようになりました。 -
TriggerCRDオブジェクトの検証およびデフォルト値が利用可能になりした。
1.12.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
$(params)パラメーターはtriggertemplateリソースから削除され、$(tt.params)に置き換えられ、これによりresourcetemplateとtriggertemplateパラメーター間の混乱が生じなくなります。 -
オプションの
EventListenerTriggerベースの認証レベルのServiceAccount参照がServiceAccountName文字列へのオブジェクト参照から変更されました。これにより、ServiceAccount参照がEventListenerTriggerオブジェクトと同じ namespace に置かれるようになりました。 -
Conditionsカスタムリソース定義 (CRD) は非推奨となり、代わりにWhenExpressionsCRD が使用されます。 -
PipelineRun.Spec.ServiceAccountNamesオブジェクトは非推奨となり、PipelineRun.Spec.TaskRunSpec[].ServiceAccountNameオブジェクトによって置き換えられます。
1.12.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。ただし、クラスタータスクで使用される一部のイメージは、非接続クラスターで動作するようにミラーリングする必要があります。
-
openshiftnamespace のパイプラインは、Red Hat OpenShift Pipelines Operator のアンインストール後に削除されません。oc delete pipelines -n openshift --allコマンドを使用してパイプラインを削除します。 Red Hat OpenShift Pipelines Operator をアンインストールしても、イベントリスナーは削除されません。
回避策として、
EventListenerおよびPodCRD を削除するには、以下を実行します。EventListenerオブジェクトをforegroundDeletionファイナライザーで編集します。oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow EventListenerCRD を削除します。oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
IBM Power Systems (ppc64le) または IBM Z (s390x) クラスターでコマンド仕様なしにマルチアーキテクチャーコンテナーイメージタスクを実行すると、
TaskRunリソースは以下のエラーを出して失敗します。Error executing command: fork/exec /bin/bash: exec format error
Error executing command: fork/exec /bin/bash: exec format errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策として、アーキテクチャー固有のコンテナーイメージを使用するか、正しいアーキテクチャーを参照する sha256 ダイジェストを指定します。sha256 ダイジェストを取得するには、以下を実行します。
skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
$ skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.12.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- CEL フィルター、Webhook バリデーターのオーバーレイ、およびインターセプターの式を確認するための簡単な構文検証が追加されました。
- Trigger は、基礎となるデプロイメントおよびサービスオブジェクトに設定されたアノテーションを上書きしなくなりました。
-
以前のバージョンでは、イベントリスナーはイベントの受け入れを停止しました。今回の修正により、この問題を解決するために
EventListenerシンクの 120 秒のアイドルタイムアウトが追加されました。 -
以前のバージョンでは、
Failed(Canceled)状態でパイプラインの実行を取り消すと、成功のメッセージが表示されました。これは、代わりにエラーが表示されるように修正されました。 -
tkn eventlistener listコマンドがリスト表示されたイベントリスナーのステータスを提供するようになり、利用可能なイベントリスナーを簡単に特定できるようになりました。 -
トリガーがインストールされていない場合や、リソースが見つからない場合に、
triggers listおよびtriggers describeコマンドについて一貫性のあるエラーメッセージが表示されるようになりました。 -
以前のバージョンでは、多くのアイドル接続がクラウドイベントの配信時に増大しました。この問題を修正するために、
DisableKeepAlives: trueパラメーターがcloudeventclient設定に追加されました。新規の接続がすべてのクラウドイベントに設定されます。 -
以前のバージョンでは、特定のタイプの認証情報が指定されていない場合であっても、
creds-initコードが空のファイルをディスクに書き込みました。今回の修正により、creds-initコードが変更され、正しくアノテーションが付けられたシークレットから実際にマウントされた認証情報のみのファイルを書き込むようになりました。