6.2. Release notes for Red Hat Red Hat OpenShift Pipelines Technology Preview 1.1
6.2.1. New features
Red Hat OpenShift Pipelines Technology Preview (TP) 1.1 is now available on OpenShift Container Platform 4.5. Red Hat OpenShift Pipelines TP 1.1 is updated to support:
- Tekton Pipelines 0.14.3
-
Tekton
tkn
CLI 0.11.0 - Tekton Triggers 0.6.1
- ClusterTasks based on Tekton Catalog 0.14
In addition to the fixes and stability improvements, here is a highlight of what’s new in OpenShift Pipelines 1.1.
6.2.1.1. Pipelines
- Workspaces can now be used instead of PipelineResources. It is recommended that you use Workspaces in OpenShift Pipelines, as PipelineResources are difficult to debug, limited in scope, and make Tasks less reusable. For more details on Workspaces, see Understanding OpenShift Pipelines.
Workspace support for VolumeClaimTemplates has been added:
- The VolumeClaimTemplate for a PipelineRun and TaskRun can now be added as a volume source for Workspaces. The tekton-controller then creates a PersistentVolumeClaim (PVC) using the template that is seen as a PVC for all TaskRuns in the Pipeline. Thus you do not need to define the PVC configuration every time it binds a workspace that spans multiple tasks.
- Support to find the name of the PersistentVolumeClaim when a VolumeClaimTemplate is used as a volume source is now available using variable substitution.
Support for improving audits:
-
The
PipelineRun.Status
field now contains the status of every TaskRun in the Pipeline and the Pipeline specification used to instantiate a PipelineRun to monitor the progress of the PipelineRun. -
Pipeline results have been added to the pipeline specification and
PipelineRun
status. -
The
TaskRun.Status
field now contains the exact Task specification used to instantiate theTaskRun
.
-
The
- Support to apply the default parameter to Conditions.
-
A TaskRun created by referencing a ClusterTask now adds the
tekton.dev/clusterTask
label instead of thetekton.dev/task
label. -
The
kubeconfigwriter
now adds theClientKeyData
and theClientCertificateData
configurations in the Resource structure to enable replacement of the pipeline resource type cluster with the kubeconfig-creator Task. -
The names of the
feature-flags
and theconfig-defaults
ConfigMaps are now customizable. - Support for HostNetwork in the PodTemplate used by TaskRun is now available.
- An Affinity Assistant is now available to support node affinity in TaskRuns that share workspace volume. By default, this is disabled on OpenShift Pipelines.
-
The PodTemplate has been updated to specify
imagePullSecrets
to identify secrets that the container runtime should use to authorize container image pulls when starting a pod. - Support for emitting warning events from the TaskRun controller if the controller fails to update the TaskRun.
- Standard or recommended k8s labels have been added to all resources to identify resources belonging to an application or component.
- The Entrypoint process is now notified for signals and these signals are then propagated using a dedicated PID Group of the Entrypoint process.
-
The PodTemplate can now be set on a Task level at runtime using
TaskRunSpecs
. Support for emitting Kubernetes events:
-
The controller now emits events for additional TaskRun lifecycle events -
taskrun started
andtaskrun running
. - The PipelineRun controller now emits an event every time a Pipeline starts.
-
The controller now emits events for additional TaskRun lifecycle events -
- In addition to the default Kubernetes events, support for CloudEvents for TaskRuns is now available. The controller can be configured to send any TaskRun events, such as create, started, and failed, as cloud events.
-
Support for using the
$context.<task|taskRun|pipeline|pipelineRun>.name
variable to reference the appropriate name when in PipelineRuns and TaskRuns. - Validation for PipelineRun parameters is now available to ensure that all the parameters required by the Pipeline are provided by the PipelineRun. This also allows PipelineRuns to provide extra parameters in addition to the required parameters.
-
You can now specify Tasks within a Pipeline that will always execute before the pipeline exits, either after finishing all tasks successfully or after a Task in the Pipeline failed, using the
finally
field in the Pipeline YAML file. -
The
git-clone
ClusterTask is now available.
6.2.1.2. Pipelines CLI
-
Support for embedded Trigger binding is now available to the
tkn evenlistener describe
command. - Support to recommend subcommands and make suggestions if an incorrect subcommand is used.
-
The
tkn task describe
command now auto selects the task if only one task is present in the Pipeline. -
You can now start a Task using default parameter values by specifying the
--use-param-defaults
flag in thetkn task start
command. -
You can now specify a volumeClaimTemplate for PipelineRuns or TaskRuns using the
--workspace
option with thetkn pipeline start
ortkn task start
commands. -
The
tkn pipelinerun logs
command now displays logs for the final tasks listed in thefinally
section. -
Interactive mode support has now been provided to the
tkn task start
command and thedescribe
subcommand for the following tkn resources:pipeline
,pipelinerun
,task
,taskrun
,clustertask
, andpipelineresource
. -
The
tkn version
command now displays the version of the Triggers installed in the cluster. -
The
tkn pipeline describe
command now displays parameter values and timeouts specified for Tasks used in the Pipeline. -
Support added for the
--last
option for thetkn pipelinerun describe
and thetkn taskrun describe
commands to describe the most recent PipelineRun or TaskRun, respectively. -
The
tkn pipeline describe
command now displays the conditions applicable to the Tasks in the Pipeline. -
You can now use the
--no-headers
and--all-namespaces
flags with thetkn resource list
command.
6.2.1.3. Triggers
The following Common Expression Language (CEL) functions are now available:
-
parseURL
to parse and extract portions of a URL -
parseJSON
to parse JSON value types embedded in a string in thepayload
field of thedeployment
webhook
-
- A new interceptor for webhooks from Bitbucket has been added.
-
EventListeners now display the
Address URL
and theAvailable status
as additional fields when listed with thekubectl get
command. -
TriggerTemplate params now use the
$(tt.params.<paramName>)
syntax instead of$(params.<paramName>)
to reduce the confusion between TriggerTemplate and ResourceTemplates params. -
You can now add
tolerations
in the EventListener CRD to ensure that EventListeners are deployed with the same configuration even if all nodes are tainted due to security or management issues. -
You can now add a Readiness Probe for EventListener Deployment at
URL/live
. - Support for embedding TriggerBinding specifications in EventListener Triggers.
-
Trigger resources are now annotated with the recommended
app.kubernetes.io
labels.
6.2.2. Deprecated features
The following items are deprecated in this release:
-
The
--namespace
or-n
flags for all cluster-wide commands, including theclustertask
andclustertriggerbinding
commands, are deprecated. It will be removed in a future release. -
The
name
field intriggers.bindings
within an EventListener has been deprecated in favor of theref
field and will be removed in a future release. -
Variable interpolation in TriggerTemplates using
$(params)
has been deprecated in favor of using$(tt.params)
to reduce confusion with the Pipeline variable interpolation syntax. The$(params.<paramName>)
syntax will be removed in a future release. -
The
tekton.dev/task
label is deprecated on ClusterTasks. -
The
TaskRun.Status.ResourceResults.ResourceRef
field is deprecated and will be removed. -
The
tkn pipeline create
,tkn task create
, andtkn resource create -f
subcommands have been removed. -
Namespace validation has been removed from
tkn
commands. -
The default timeout of
1h
and the-t
flag for thetkn ct start
command have been removed. -
The
s2i
ClusterTask has been deprecated.
6.2.3. Known issues
- Conditions do not support Workspaces.
-
The
--workspace
option and the interactive mode is not supported for thetkn clustertask start
command. -
Support of backward compatibility for
$(params.<paramName>)
forces you to use TriggerTemplates with pipeline specific params as the Triggers webhook is unable to differentiate Trigger params from pipelines params. -
Pipeline metrics report incorrect values when you run a promQL query for
tekton_taskrun_count
andtekton_taskrun_duration_seconds_count
. -
PipelineRuns and TaskRuns continue to be in the
Running
andRunning(Pending)
states respectively even when a non existing PVC name is given to a Workspace.
6.2.4. Fixed issues
-
Previously, the
tkn task delete <name> --trs
command would delete both the Task and ClusterTask if the name of the Task and ClusterTask were the same. With this fix, the command deletes only the TaskRuns that are created by the Task<name>
. -
Previously the
tkn pr delete -p <name> --keep 2
command would disregard the-p
flag when used with the--keep
flag and would delete all the PipelineRuns except the latest two. With this fix, the command deletes only the PipelineRuns that are created by the Pipeline<name>
, except for the latest two. -
The
tkn triggertemplate describe
output now displays ResourceTemplates in a table format instead of YAML format. -
Previously the
buildah
ClusterTask failed when a new user was added to a container. With this fix, the issue has been resolved.