Chapter 6. OpenShift Pipelines release notes
OpenShift Pipelines is a cloud-native CI/CD experience based on the Tekton project which provides:
- Standard Kubernetes-native pipeline definitions (CRDs).
- Serverless pipelines with no CI server management overhead.
- Extensibility to build images using any Kubernetes tool, such as S2I, Buildah, JIB, and Kaniko.
- Portability across any Kubernetes distribution.
- Powerful CLI for interacting with pipelines.
- Integrated user experience with the Developer perspective of the OpenShift Container Platform web console.
For an overview of OpenShift Pipelines, see Understanding OpenShift Pipelines.
6.1. Getting support
If you experience difficulty with a procedure described in this documentation, visit the Red Hat Customer Portal to learn more about Red Hat Technology Preview features support scope.
For questions and feedback, you can send an email to the product team at pipelines-interest@redhat.com.
6.2. Release notes for Red Hat OpenShift Pipelines Technology Preview 1.0
6.2.1. New features
OpenShift Pipelines Technology Preview (TP) 1.0 is now available on OpenShift Container Platform 4.4. OpenShift Pipelines TP 1.0 is updated to support:
- Tekton Pipelines 0.11.3
-
Tekton
tkn
CLI 0.9.0 - Tekton Triggers 0.4.0
- ClusterTasks based on Tekton Catalog 0.11
In addition to the fixes and stability improvements, here is a highlight of what’s new in OpenShift Pipelines 1.0.
6.2.1.1. Pipelines
- Support for v1beta1 API Version.
- Support for an improved LimitRange. Previously, LimitRange was specified exclusively for the TaskRun and the PipelineRun. Now there is no need to explicitly specify the LimitRange. The minimum LimitRange across the namespace is used.
- Support for sharing data between Tasks using TaskResults and TaskParams.
-
Pipelines can now be configured to not overwrite the
HOME
environment variable andworkingDir
of Steps. -
Similar to Task Steps,
sidecars
now support script mode. -
You can now specify a different scheduler name in TaskRun
podTemplate
. - Support for variable substitution using Star Array Notation.
- Tekton Controller can now be configured to monitor an individual namespace.
- A new description field is now added to the specification of Pipeline, Task, ClusterTask, Resource, and Condition.
- Addition of proxy parameters to Git PipelineResources.
6.2.1.2. Pipelines CLI
-
The
describe
subcommand is now added for the followingtkn
resources:eventlistener
,condition
,triggertemplate
,clustertask
, andtriggerbinding
. -
Support added for
v1beta1
to the following commands along with backward comptibility forv1alpha1
:clustertask
,task
,pipeline
,pipelinerun
, andtaskrun
. The following commands can now list output from all namespaces using the
--all-namespaces
flag option:-
tkn task list
-
tkn pipeline list
-
tkn taskrun list
tkn pipelinerun list
The output of these commands is also enhanced to display information without headers using the
--no-headers
flag option.
-
-
You can now start a Pipeline using default parameter values by specifying
--use-param-defaults
flag in thetkn pipelines start
command. -
Support for Workspace is now added to
tkn pipeline start
andtkn task start
commands. -
A new
clustertriggerbinding
command is now added with the following subcommands:describe
,delete
, andlist
. -
You can now directly start a pipeline run using a local or remote
yaml
file. -
The
describe
subcommand now displays an enhanced and detailed output. With the addition of new fields, such asdescription
,timeout
,param description
, andsidecar status
, the command output now provides more detailed information about a specifictkn
resource. -
The
tkn task log
command now displays logs directly if only one task is present in the namespace.
6.2.1.3. Triggers
-
Triggers can now create both
v1alpha1
andv1beta1
Pipeline resources. -
Support for new Common Expression Language (CEL) interceptor function -
compareSecret
. This function securely compares strings to secrets in CEL expressions. - Support for authentication and authorization at the EventListener Trigger level.
6.2.2. Deprecated features
The following items are deprecated in this release:
The environment variable
$HOME
, and variableworkingDir
in the Steps specification are deprecated and might be changed in a future release. Currently in a Step container,HOME
andworkingDir
are overwritten to/tekton/home
and/workspace
respectively.In a later release, these two fields will not be modified, and will be set to values defined in the container image and Task YAML. For this release, use flags
disable-home-env-overwrite
anddisable-working-directory-overwrite
to disable overwriting of theHOME
andworkingDir
variables.The following commands are deprecated and might be removed in the future release:
-
tkn pipeline create
-
tkn task create
-
-
The
-f
flag with thetkn resource create
command is now deprecated. It might be removed in the future release. -
The
-t
flag and the--timeout
flag (with seconds format) for thetkn clustertask create
command are now deprecated. Only duration timeout format is now supported, for example1h30s
. These deprecated flags might be removed in the future release.
6.2.3. Known issues
- If you are upgrading from an older version of OpenShift Pipelines, you must delete your existing deployments before upgrading to OpenShift Pipelines version 1.0. To delete an existing deployment, you must first delete Custom Resources and then uninstall the OpenShift Pipelines Operator. For more details, see the uninstalling OpenShift Pipelines section.
-
Submitting the same
v1alpha1
Tasks more than once results in an error. Useoc replace
instead ofoc apply
when re-submitting av1alpha1
Task. The
buildah
ClusterTask does not work when a new user is added to a container.When the Operator is installed, the
--storage-driver
flag for thebuildah
ClusterTask is not specified, therefore the flag is set to its default value. In some cases, this causes the storage driver to be set incorrectly. When a new user is added, the incorrect storage-driver results in the failure of thebuildah
ClusterTask with the following error:useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
As a workaround, manually set the
--storage-driver
flag value tooverlay
in thebuildah-task.yaml
file:Login to your cluster as a
cluster-admin
:$ oc login -u <login> -p <password> https://openshift.example.com:6443
Use the
oc edit
command to editbuildah
ClusterTask:$ oc edit clustertask buildah
The current version of the
buildah
clustertask YAML file opens in the editor set by yourEDITOR
environment variable.Under the
steps
field, locate the followingcommand
field:command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
Replace the
command
field with the following:command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
- Save the file and exit.
Alternatively, you can also modify the
buildah
ClusterTask YAML file directly on the web console by navigating to PipelinesCluster Tasks buildah. Select Edit Cluster Task from the Actions menu and replace the command
field as shown in the previous procedure.
6.2.4. Fixed issues
-
Previously, the
DeploymentConfig
Task triggered a new deployment build even when an image build was already in progress. This caused the deployment of the Pipeline to fail. With this fix, thedeploy task
command is now replaced with theoc rollout status
command which waits for the in-progress deployment to finish. -
Support for
APP_NAME
parameter is now added in Pipeline templates. -
Previously, the Pipeline template for Java S2I failed to look up the image in the registry. With this fix, the image is looked up using the existing image PipelineResources instead of the user provided
IMAGE_NAME
parameter. - All the OpenShift Pipelines images are now based on the Red Hat Universal Base Images (UBI).
-
Previously, when the Pipeline was installed in a namespace other than
tekton-pipelines
, thetkn version
command displayed the Pipeline version asunknown
. With this fix, thetkn version
command now displays the correct Pipeline version in any namespace. -
The
-c
flag is no longer supported for thetkn version
command. - Non-admin users can now list the ClusterTriggerBindings.
- The EventListener CompareSecret function is now fixed for the CEL Interceptor.
-
The
list
,describe
, andstart
subcommands fortask
andclustertask
now correctly display the output in case a Task and ClusterTask have the same name. - Previously, the OpenShift Pipelines Operator modified the privileged security context constraints (SCCs), which caused an error during cluster upgrade. This error is now fixed.
-
In the
tekton-pipelines
namespace, the timeouts of all TaskRuns and PipelineRuns are now set to the value ofdefault-timeout-minutes
field using the ConfigMap. - Previously, the Pipelines section in the web console was not displayed for non-admin users. This issue is now resolved.