Skip to content

Commit 895db8c

Browse files
author
Souvik Sarkar
committed
Pipelines 1.5 Release Notes
Added Fixed Issues and some Deprecated Features Release notes complete Minor YAML formatting Incorporated comments from Shubham Incorporated Sri's comments Incorporated Sri's comments Minor enhancement based on openshift/pipelines-tutorial#145 Added --use-param-defaults example based on Veeresh's comments Chaged mentions of operator to Operator Incorporated Jake's comments and some more
1 parent 813ca86 commit 895db8c

File tree

3 files changed

+320
-1
lines changed

3 files changed

+320
-1
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.

modules/pipelines-document-attributes.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
//
1010
:pipelines-title: Red Hat OpenShift Pipelines
1111
:pipelines-shortname: Pipelines
12-
:pipelines-ver: pipelines-1.4
12+
:pipelines-ver: pipelines-1.5

0 commit comments

Comments
 (0)