Skip to content

Commit 3835e83

Browse files
authored
Merge pull request #34791 from sounix000/Pipelines-1.5-RN
[RHDEVDOCS-3041]: Pipelines 1.5 Release Notes
2 parents 4b24666 + 895db8c commit 3835e83

File tree

2 files changed

+319
-0
lines changed

2 files changed

+319
-0
lines changed

cicd/pipelines/op-release-notes.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ For an overview of {pipelines-title}, see xref:../../cicd/pipelines/understandin
2424
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see link:https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language[Red Hat CTO Chris Wright's message].
2525

2626
// Modules included, most to least recent
27+
include::modules/op-release-notes-1-5.adoc[leveloffset=+1]
28+
2729
include::modules/op-release-notes-1-4.adoc[leveloffset=+1]
2830

2931
include::modules/op-release-notes-1-3.adoc[leveloffset=+1]

modules/op-release-notes-1-5.adoc

Lines changed: 317 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,317 @@
1+
// Module included in the following assembly:
2+
//
3+
// * cicd/pipelines/op-release-notes.adoc
4+
5+
[id="op-release-notes-1-5_{context}"]
6+
= Release notes for {pipelines-title} General Availability 1.5
7+
8+
{pipelines-title} General Availability (GA) 1.5 is now available on {product-title} 4.8.
9+
10+
[id="compatibility-support-matrix-1-5_{context}"]
11+
== Compatibility and support matrix
12+
13+
Some features in this release are currently in Technology Preview. These experimental features are not intended for production use.
14+
15+
link:https://access.redhat.com/support/offerings/techpreview[Technology Preview Features Support Scope]
16+
17+
In the table, features are marked with the following statuses:
18+
19+
- *TP*: _Technology Preview_
20+
21+
- *GA*: _General Availability_
22+
23+
Note the following scope of support on the Red Hat Customer Portal for these features:
24+
25+
.Compatibility and support matrix
26+
[cols="1,1,1",options="header"]
27+
|===
28+
| Feature | Version | Support Status
29+
| Pipelines | 0.24 | GA
30+
| CLI | 0.19 | GA
31+
| Catalog | 0.24 | GA
32+
| Triggers | 0.14 | TP
33+
| Pipeline resources | - | TP
34+
|===
35+
36+
37+
For questions and feedback, you can send an email to the product team at [email protected].
38+
39+
[id="new-features-1-5_{context}"]
40+
== New features
41+
42+
In addition to the fixes and stability improvements, the following sections highlight what is new in {pipelines-title} 1.5.
43+
44+
* Pipeline run and task runs will be automatically pruned by a cron job in the target namespace. The cron job uses the `IMAGE_JOB_PRUNER_TKN` environment variable to get the value of `tkn image`. With this enhancement, the following fields are introduced to the `TektonConfig` custom resource:
45+
+
46+
[source,yaml,subs="attributes+"]
47+
----
48+
...
49+
pruner:
50+
resources:
51+
- pipelinerun
52+
- taskrun
53+
schedule: "*/5 * * * *" // cron schedule
54+
keep: 2 // delete all keeping n
55+
...
56+
----
57+
58+
* In {product-title}, you can customize the installation of the Tekton Add-ons component by modifying the values of the new parameters `clusterTasks` and `pipelinesTemplates` in the `TektonConig` custom resource:
59+
+
60+
[source,yaml,subs="attributes+"]
61+
----
62+
apiVersion: operator.tekton.dev/v1alpha1
63+
kind: TektonConfig
64+
metadata:
65+
name: config
66+
spec:
67+
profile: all
68+
targetNamespace: openshift-pipelines
69+
addon:
70+
params:
71+
- name: clusterTasks
72+
value: "true"
73+
- name: pipelineTemplates
74+
value: "true"
75+
...
76+
----
77+
+
78+
The customization is allowed if you create the add-on using `TektonConfig`, or directly by using Tekton Add-ons. However, if the parameters are not passed, the controller adds parameters with default values.
79+
+
80+
[NOTE]
81+
====
82+
* If add-on is created using the `TektonConfig` custom resource, and you change the parameter values later in the
83+
`Addon` custom resource, then the values in the `TektonConfig` custom resource overwrites the changes.
84+
85+
* You can set the value of the `pipelinesTemplates` parameter to `true` only when the value of the `clusterTasks` parameter is `true`.
86+
====
87+
88+
* The `enableMetrics` parameter is added to the `TektonConfig` custom resource. You can use it to disable the service monitor, which is part of Tekton Pipelines for {product-title}.
89+
+
90+
[source,yaml,subs="attributes+"]
91+
----
92+
apiVersion: operator.tekton.dev/v1alpha1
93+
kind: TektonConfig
94+
metadata:
95+
name: config
96+
spec:
97+
profile: all
98+
targetNamespace: openshift-pipelines
99+
pipeline:
100+
params:
101+
- name: enableMetrics
102+
value: "true"
103+
...
104+
----
105+
106+
* Eventlistener OpenCensus metrics, which captures metrics at process level, is added.
107+
108+
* Triggers now has label selector; you can configure triggers for an event listener using labels.
109+
110+
* The `ClusterInterceptor` custom resource definition for registering interceptors is added, which allows you to register new `Interceptor` types that you can plug in. In addition, the following relevant changes are made:
111+
112+
** In the trigger specifications, you can configure interceptors using a new API that includes a `ref` field to refer to a cluster interceptor. In addition, you can use the `params` field to add parameters that pass on to the interceptors for processing.
113+
114+
** The bundled interceptors CEL, GitHub, GitLab, and BitBucket, have been migrated. They are implemented using the new `ClusterInterceptor` custom resource definition.
115+
116+
** Core interceptors are migrated to the new format, and any new triggers created using the old syntax automatically switch to the new `ref` or `params` based syntax.
117+
118+
* To disable prefixing the name of the task or step while displaying logs, use the `--prefix` option for `log` commands.
119+
120+
* To display the version of a specific component, use the new `--component` flag in the `tkn version` command.
121+
122+
* The `tkn hub check-upgrade` command is added, and other commands are revised to be based on the pipeline version. In addition, catalog names are displayed in the `search` command output.
123+
124+
* Support for optional workspaces are added to the `start` command.
125+
126+
* If the plugins are are not present in the `plugins` directory, they are searched in the current path.
127+
128+
* The `tkn start [task | clustertask | pipeline]` command starts interactively and ask for the `params` value, even when you specify the default parameters are specified. To stop the interactive prompts, pass the `--use-param-defaults` flag at the time of invoking the command. For example:
129+
+
130+
[source,terminal,subs="attributes+"]
131+
----
132+
$ tkn pipeline start build-and-deploy \
133+
-w name=shared-workspace,volumeClaimTemplateFile=https://raw.githubusercontent.com/openshift/pipelines-tutorial/{pipelines-ver}/01_pipeline/03_persistent_volume_claim.yaml \
134+
-p deployment-name=pipelines-vote-api \
135+
-p git-url=https://github.com/openshift/pipelines-vote-api.git \
136+
-p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/pipelines-vote-api \
137+
--use-param-defaults
138+
----
139+
140+
* The `version` field is added in the `tkn task describe` command.
141+
142+
* The option to automatically select resources such as `TriggerTemplate`, or `TriggerBinding`, or `ClusterTriggerBinding`, or `Eventlistener`, is added in the `describe` command, if only one is present.
143+
144+
* In the `tkn pr describe` command, a section for skipped tasks is added.
145+
146+
* Support for the `tkn clustertask logs` is added.
147+
148+
* The YAML merge and variable from `config.yaml` is removed. In addition, the `release.yaml` file can now be more easily consumed by tools such as `kustomize` and `ytt`.
149+
150+
* The support for resource names to contain the dot character (".") is added.
151+
152+
* The `hostAliases` array in the `PodTemplate` specification is added to the pod-level override of hostname resolution. It is achieved by modifying the `/etc/hosts` file.
153+
154+
* A variable `$(tasks.status)` is introduced to access the aggregate execution status of tasks.
155+
156+
* An entry-point binary build for Windows is added.
157+
158+
159+
[id="deprecated-features-1-5_{context}"]
160+
== Deprecated features
161+
162+
* In the `when` expressions, support for fields written is PascalCase is removed. The `when` expressions only support fields written in lowercase.
163+
+
164+
[NOTE]
165+
====
166+
If you had applied a pipeline with `when` expressions in Tekton Pipelines `v0.16` (Operator `v1.2.x`), you have to reapply it.
167+
====
168+
169+
* When you upgrade the {pipelines-title} Operator to `v1.5`, the `openshift-client` and the `openshift-client-v-1-5-0` cluster tasks have the `SCRIPT` parameter. However, the `ARGS` parameter and the `git` resource are removed from the specification of the `openshift-client` cluster task. This is a breaking change, and only those cluster tasks that do not have a specific version in the `name` field of the `ClusterTask` resource upgrade seamlessly.
170+
+
171+
To prevent the pipeline runs from breaking, use the `SCRIPT` parameter after the upgrade because it moves the values previously specified in the `ARGS` parameter into the `SCRIPT` parameter of the cluster task. For example:
172+
+
173+
[source,yaml,subs="attributes+"]
174+
----
175+
...
176+
- name: deploy
177+
params:
178+
- name: SCRIPT
179+
value: oc rollout status <deployment-name>
180+
runAfter:
181+
- build
182+
taskRef:
183+
kind: ClusterTask
184+
name: openshift-client
185+
...
186+
----
187+
+
188+
189+
* When you upgrade from {pipelines-title} Operator `v1.4` to `v1.5`, the profile names in which the `TektonConfig` custom resource is installed now change.
190+
191+
+
192+
.Profiles for `TektonConfig` custom resource
193+
[cols="1,1,1",options="header"]
194+
|===
195+
| Profiles in Pipelines 1.5 | Corresponding profile in Pipelines 1.4 | Installed Tekton components
196+
| All (_default profile_) | All (_default profile_) | Pipelines, Triggers, Add-ons
197+
| Basic | Default | Pipelines, Triggers
198+
| Lite | Basic | Pipelines
199+
200+
|===
201+
202+
+
203+
[NOTE]
204+
====
205+
If you used `profile: all` in the `config` instance of the `TektonConfig` custom resource, no change is necessary in the resource specification.
206+
207+
However, if the installed Operator is either in the Default or the Basic profile before the upgrade, you must edit the `config` instance of the `TektonConfig` custom resource after the upgrade. For example, if the configuration was `profile: basic` before the upgrade, ensure that it is `profile: lite` after upgrading to Pipelines 1.5.
208+
====
209+
+
210+
211+
* The `disable-home-env-overwrite` and `disable-working-dir-overwrite` fields are now deprecated and will be removed in a future release. For this release, the default value of these flags is set to `true` for backward compatibility.
212+
+
213+
[NOTE]
214+
====
215+
In the next release ({pipelines-title} 1.6), the `HOME` environment variable will not be automatically set to `/tekton/home`, and the default working directory will not be set to `/workspace` for task runs. These defaults collide with any value set by image Dockerfile of the step.
216+
====
217+
218+
* The `ServiceType` and `podTemplate` fields are removed from the `EventListener` spec.
219+
220+
* The controller service account no longer requests cluster-wide permission to list and watch namespaces.
221+
222+
* The status of the `EventListener` resource has a new condition called `Ready`.
223+
+
224+
[NOTE]
225+
====
226+
In the future, the other status conditions for the `EventListener` resource will be deprecated in favor of the `Ready` status condition.
227+
====
228+
229+
* The `eventListener` and `namespace` fields in the `EventListener` response are deprecated. Use the `eventListenerUID` field instead.
230+
231+
* The `replicas` field is deprecated from the `EventListener` spec. Instead, the `spec.replicas` field is moved to `spec.resources.kubernetesResource.replicas` in the `KubernetesResource` spec.
232+
+
233+
[NOTE]
234+
====
235+
The `replicas` field will be removed in a future release.
236+
====
237+
238+
* The old method of configuring the core interceptors is deprecated. However, it continues to work until it is removed in a future release. Instead, interceptors in a `Trigger` resource are now configured using a new `ref` and `params` based syntax. The resulting default webhook automatically switch the usages of the old syntax to the new syntax for new triggers.
239+
240+
* Use `rbac.authorization.k8s.io/v1` instead of the deprecated `rbac.authorization.k8s.io/v1beta1` for the `ClusterRoleBinding` resource.
241+
242+
* In cluster roles, the cluster-wide write access to resources such as `serviceaccounts`, `secrets`, `configmaps`, and `limitranges` are removed. In addition, cluster-wide access to resources such as `deployments`, `statefulsets`, and `deployment/finalizers` are removed.
243+
244+
* The `image` custom resource definition in the `caching.internal.knative.dev` group is not used by Tekton anymore, and is excluded in this release.
245+
246+
247+
[id="known-issues-1-5_{context}"]
248+
== Known issues
249+
250+
* The link:https://github.com/tektoncd/catalog/tree/main/task/git-cli/0.1[git-cli] cluster task is built off the link:https://github.com/tektoncd/catalog/blob/68e44c629c9ee287393681030ed391d2c2e856cd/task/git-cli/0.1/git-cli.yaml#L32[alpine/git] base image, which expects `/root` as the user's home directory. However, this is not explicitly set in the `git-cli` cluster task.
251+
+
252+
In Tekton, the default home directory is overwritten with `/tekton/home` for every step of a task, unless otherwise specified. This overwriting of the `$HOME` environment variable of the base image causes the `git-cli` cluster task to fail.
253+
+
254+
This issue is expected to be fixed in the upcoming releases. For {pipelines-title} 1.5 and earlier versions, you can _use any one of the following workarounds_ to avoid the failure of the `git-cli` cluster task:
255+
256+
** Set the `$HOME` environment variable in the steps, so that it is not overwritten.
257+
258+
. [OPTIONAL] If you installed {pipelines-title} using the Operator, then clone the `git-cli` cluster task into a separate task. This approach ensures that the Operator does not overwrite the changes made to the cluster task.
259+
. Execute the `oc edit clustertasks git-cli` command.
260+
. Add the expected `HOME` environment variable to the YAML of the step:
261+
+
262+
[source,yaml,subs="attributes+"]
263+
----
264+
...
265+
steps:
266+
- name: git
267+
env:
268+
- name: HOME
269+
value: /root
270+
image: $(params.BASE_IMAGE)
271+
workingDir: $(workspaces.source.path)
272+
...
273+
----
274+
+
275+
[WARNING]
276+
====
277+
For {pipelines-title} installed by the Operator, if you do not clone the `git-cli` cluster task into a separate task before changing the `HOME` environment variable, then the changes are overwritten during Operator reconciliation.
278+
====
279+
280+
** Disable overwriting the `HOME` environment variable in the `feature-flags` config map.
281+
282+
. Execute the `oc edit -n openshift-pipelines configmap feature-flags` command.
283+
. Set the value of the `disable-home-env-overwrite` flag to `true`.
284+
+
285+
[WARNING]
286+
====
287+
* If you installed {pipelines-title} using the Operator, then the changes are overwritten during Operator reconciliation.
288+
289+
* Modifying the default value of the `disable-home-env-overwrite` flag can break other tasks and cluster tasks, as it changes the default behavior for all tasks.
290+
====
291+
292+
** Use a different service account for the `git-cli` cluster task, as the overwriting of the `HOME` environment variable happens when the default service account for pipelines is used.
293+
294+
. Create a new service account.
295+
. Link your Git secret to the service account you just created.
296+
. Use the service account while executing a task or a pipeline.
297+
298+
299+
* On IBM Power Systems, IBM Z, and LinuxONE, the `s2i-dotnet` cluster task and the `tkn hub` command are unsupported.
300+
301+
* When you run Maven and Jib-Maven cluster tasks on IBM Power Systems (ppc64le), IBM Z, and LinuxONE (s390x) clusters, set the `MAVEN_IMAGE` parameter value to `maven:3.6.3-adoptopenjdk-11`.
302+
303+
304+
[id="fixed-issues-1-5_{context}"]
305+
== Fixed issues
306+
307+
* The `when` expressions in `dag` tasks are not allowed to specify the context variable accessing the execution status (`$(tasks.<pipelineTask>.status)`) of any other task.
308+
309+
* Use Owner UIDs instead of Owner names, as it helps avoid race conditions created by deleting a `volumeClaimTemplate` PVC, in situations where a `PipelineRun` resource is quickly deleted and then recreated.
310+
311+
* A new Dockerfile is added for `pullrequest-init` for `build-base` image triggered by non-root users.
312+
313+
* When a pipeline or task is executed with the `-f` option and the `param` in its definition does not have a `type` defined, a validation error is generated instead of the pipeline or task run failing silently.
314+
315+
* For the `tkn start [task | pipeline | clustertask]` commands, the description of the `--workspace` flag is now consistent.
316+
317+
* While parsing the parameters, if an empty array is encountered, the corresponding interactive help is displayed as an empty string now.

0 commit comments

Comments
 (0)