apiVersion: serving.knative.dev/v1alpha1
kind: DomainMapping
metadata:
name: <domain-name>
namespace: knative-eventing
spec:
ref:
name: broker-ingress
kind: Service
apiVersion: v1
Release notes contain information about new and deprecated features, breaking changes, and known issues. The following release notes apply for the most recent OpenShift Serverless releases on OpenShift Dedicated.
For an overview of OpenShift Serverless functionality, see About OpenShift Serverless.
OpenShift Serverless is based on the open source Knative project. For details about the latest Knative component releases, see the Knative blog. |
API versions are an important measure of the development status of certain features and custom resources in OpenShift Serverless. Creating resources on your cluster that do not use the correct API version can cause issues in your deployment.
The OpenShift Serverless Operator automatically upgrades older resources that use deprecated versions of APIs to use the latest version. For example, if you have created resources on your cluster that use older versions of the ApiServerSource
API, such as v1beta1
, the OpenShift Serverless Operator automatically updates these resources to use the v1
version of the API when this is available and the v1beta1
version is deprecated.
After they have been deprecated, older versions of APIs might be removed in any upcoming release. Using deprecated versions of APIs does not cause resources to fail. However, if you try to use a version of an API that has been removed, it will cause resources to fail. Ensure that your manifests are updated to use the latest version to avoid issues.
Features which are Generally Available (GA) are fully supported and are suitable for production use. Technology Preview (TP) features are experimental features and are not intended for production use. See the Technology Preview scope of support on the Red Hat Customer Portal for more information about TP features.
The following table provides information about which OpenShift Serverless features are GA and which are TP:
Feature | 1.20 | 1.21 |
---|---|---|
|
TP |
TP |
|
- |
TP |
Service Mesh mTLS |
GA |
GA |
|
GA |
GA |
HTTPS redirection |
GA |
GA |
Kafka broker |
TP |
TP |
Kafka sink |
- |
TP |
Some features that were Generally Available (GA) or a Technology Preview (TP) in previous releases have been deprecated or removed. Deprecated functionality is still included in OpenShift Serverless and continues to be supported; however, it will be removed in a future release of this product and is not recommended for new deployments.
For the most recent list of major functionality deprecated and removed within OpenShift Serverless, refer to the following table:
Feature | 1.20 | 1.21 |
---|---|---|
|
Deprecated |
Deprecated |
|
Deprecated |
Removed |
OpenShift Serverless 1.22.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on OpenShift Dedicated are included in this topic.
OpenShift Serverless now uses Knative Serving 1.1.
OpenShift Serverless now uses Knative Eventing 1.1.
OpenShift Serverless now uses Kourier 1.1.
OpenShift Serverless now uses Knative kn
CLI 1.1.
OpenShift Serverless now uses Knative Kafka 1.1.
The kn func
CLI plug-in now uses func
0.23.
Init containers support for Knative services is now available as a Technology Preview.
Persistent volume claim (PVC) support for Knative services is now available as a Technology Preview.
The knative-serving
, knative-serving-ingress
, knative-eventing
and knative-kafka
system namespaces now have the knative.openshift.io/part-of: "openshift-serverless"
label by default.
The Knative Eventing - Kafka Broker/Trigger dashboard has been added, which allows visualizing Kafka broker and trigger metrics in the web console.
The Knative Eventing - KafkaSink dashboard has been added, which allows visualizing KafkaSink metrics in the web console.
The Knative Eventing - Broker/Trigger dashboard is now called Knative Eventing - Channel-based Broker/Trigger.
The knative.openshift.io/part-of: "openshift-serverless"
label has substituted the knative.openshift.io/system-namespace
label.
Naming style in Knative Serving YAML configuration files changed from camel case (ExampleName
) to hyphen style (example-name
). Beginning with this release, use the hyphen style notation when creating or editing Knative Serving YAML configuration files.
OpenShift Serverless 1.21.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on OpenShift Dedicated are included in this topic.
OpenShift Serverless now uses Knative Serving 1.0
OpenShift Serverless now uses Knative Eventing 1.0.
OpenShift Serverless now uses Kourier 1.0.
OpenShift Serverless now uses Knative kn
CLI 1.0.
OpenShift Serverless now uses Knative Kafka 1.0.
The kn func
CLI plug-in now uses func
0.21.
The Kafka sink is now available as a Technology Preview.
The Knative open source project has begun to deprecate camel-cased configuration keys in favor of using kebab-cased keys consistently. As a result, the defaultExternalScheme
key, previously mentioned in the OpenShift Serverless 1.18.0 release notes, is now deprecated and replaced by the default-external-scheme
key. Usage instructions for the key remain the same.
In OpenShift Serverless 1.20.0, there was an event delivery issue affecting the use of kn event send
to send events to a service. This issue is now fixed.
In OpenShift Serverless 1.20.0 (func
0.20), TypeScript functions created with the http
template failed to deploy on the cluster. This issue is now fixed.
In OpenShift Serverless 1.20.0 (func
0.20), deploying a function using the gcr.io
registry failed with an error. This issue is now fixed.
In OpenShift Serverless 1.20.0 (func
0.20), creating a Springboot function project directory with the kn func create
command and then running the kn func build
command failed with an error message. This issue is now fixed.
In OpenShift Serverless 1.19.0 (func
0.19), some runtimes were unable to build a function by using podman. This issue is now fixed.
Currently, the domain mapping controller cannot process the URI of a broker, which contains a path that is currently not supported.
This means that, if you want to use a DomainMapping
custom resource (CR) to map a custom domain to a broker, you must configure the DomainMapping
CR with the broker’s ingress service, and append the exact path of the broker to the custom domain:
DomainMapping
CRapiVersion: serving.knative.dev/v1alpha1
kind: DomainMapping
metadata:
name: <domain-name>
namespace: knative-eventing
spec:
ref:
name: broker-ingress
kind: Service
apiVersion: v1
The URI for the broker is then <domain-name>/<broker-namespace>/<broker-name>
.
OpenShift Serverless 1.20.0 is now available. New features, changes, and known issues that pertain to OpenShift Serverless on OpenShift Dedicated are included in this topic.
OpenShift Serverless now uses Knative Serving 0.26.
OpenShift Serverless now uses Knative Eventing 0.26.
OpenShift Serverless now uses Kourier 0.26.
OpenShift Serverless now uses Knative kn
CLI 0.26.
OpenShift Serverless now uses Knative Kafka 0.26.
The kn func
CLI plug-in now uses func
0.20.
The Kafka broker is now available as a Technology Preview.
The Kafka broker, which is currently in Technology Preview, is not supported on FIPS. |
The kn event
plug-in is now available as a Technology Preview.
The --min-scale
and --max-scale
flags for the kn service create
command have been deprecated. Use the --scale-min
and --scale-max
flags instead.
OpenShift Serverless deploys Knative services with a default address that uses HTTPS. When sending an event to a resource inside the cluster, the sender does not have the cluster certificate authority (CA) configured. This causes event delivery to fail, unless the cluster uses globally accepted certificates.
For example, an event delivery to a publicly accessible address works:
$ kn event send --to-url https://ce-api.foo.example.com/
On the other hand, this delivery fails if the service uses a public address with an HTTPS certificate issued by a custom CA:
$ kn event send --to Service:serving.knative.dev/v1:event-display
Sending an event to other addressable objects, such as brokers or channels, is not affected by this issue and works as expected.
The Kafka broker currently does not work on a cluster with Federal Information Processing Standards (FIPS) mode enabled.
If you create a Springboot function project directory with the kn func create
command, subsequent running of the kn func build
command fails with this error message:
[analyzer] no stack metadata found at path ''
[analyzer] ERROR: failed to : set API for buildpack 'paketo-buildpacks/ca-certificates@3.0.2': buildpack API version '0.7' is incompatible with the lifecycle
As a workaround, you can change the builder
property to gcr.io/paketo-buildpacks/builder:base
in the function configuration file func.yaml
.
Deploying a function using the gcr.io
registry fails with this error message:
Error: failed to get credentials: failed to verify credentials: status code: 404
As a workaround, use a different registry than gcr.io
, such as quay.io
or docker.io
.
TypeScript functions created with the http
template fail to deploy on the cluster.
As a workaround, in the func.yaml
file, replace the following section:
buildEnvs: []
with this:
buildEnvs:
- name: BP_NODE_RUN_SCRIPTS
value: build
In func
version 0.20, some runtimes might be unable to build a function by using podman. You might see an error message similar to the following:
ERROR: failed to image: error during connect: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.40/info": EOF
The following workaround exists for this issue:
Update the podman service by adding --time=0
to the service ExecStart
definition:
ExecStart=/usr/bin/podman $LOGGING system service --time=0
Restart the podman service by running the following commands:
$ systemctl --user daemon-reload
$ systemctl restart --user podman.socket
Alternatively, you can expose the podman API by using TCP:
$ podman system service --time=0 tcp:127.0.0.1:5534 &
export DOCKER_HOST=tcp://127.0.0.1:5534