Chapter 10. OpenShift Serverless Release Notes
You are viewing documentation for a release of Red Hat OpenShift Serverless that is no longer supported. Red Hat OpenShift Serverless is currently supported on OpenShift Container Platform 4.3 and newer.
For an overview of OpenShift Serverless functionality, see Getting started with OpenShift Serverless.
10.1. Getting support
If you experience difficulty with a procedure described in this documentation, visit the Customer Portal to learn more about support for Technology Preview features.
10.2. Release Notes for Red Hat OpenShift Serverless Technology Preview 1.4.0
OpenShift Serverless 1.4.0 contains a bad owner reference that causes the Kubernetes Garbage Collector to incorrectly remove the entire Knative control plane, including all of your services. You must install OpenShift Serverless 1.4.1 to fix this issue.
10.2.1. New features
- OpenShift Serverless 1.4.0 is available on OpenShift Container Platform 4.2 and newer versions.
- OpenShift Serverless has been updated to use Knative Serving 0.11.1.
-
OpenShift Serverless has been updated to use Knative Client (
kn
CLI) 0.11.0. - OpenShift Serverless has been updated to use Knative Serving Operator 0.11.1.
-
The
kn
CLI is now available for download through the Command Line Tools page in the OpenShift Container Platform web console. The
KnativeServing
object’s API group has changed in this release fromserving.knative.dev
tooperator.knative.dev
. You will need to adjust any of your scripts or applications that rely on the old API group to use the new API group. The OpenShift Serverless installation instructions have been updated to use the new API group.When upgrading from OpenShift Serverless 1.3.0 to 1.4.0, the OpenShift Serverless Operator will create a
KnativeServing
custom resource (CR) in the new API group for you. This CR will be a mirror of theKnativeServing
CR in the old group that was used in OpenShift Serverless 1.3.0.If you need to keep using the old group temporarily, you can use the old CR as before. However, this CR is deprecated and will eventually be removed.
Once you have updated references to the new API group, you can remove any older CR versions and use the newly deployed
KnativeServing
CR instead. To safely do this without downtime, remove the owner reference from the newly deployedKnativeServing
CR using:$ oc edit knativeserving.operator.knative.dev knative-serving -n knative-serving
After the owner reference has been removed, you can safely remove any older CR versions and start using the new one.
ImportantIf a previous version of the CR exists, changes to the new CR will be overwritten by the OpenShift Serverless Operator. While the old CR is still active, all changes need to be made to that CR.
10.2.2. Fixed issues
-
Connecting to a private, cluster local Knative Service from a namespace that was not part of the
knative-serving-ingress
Service Mesh was failing oni/o timeout
. This issue is now fixed. -
The
container_name
andpod_name
metric labels were removed in OpenShift Container Platform 4.3. The documentation has been updated to use the newcontainer
andpod
metric labels instead. If you are using metering with Serverless on OpenShift Container Platform 4.3 or later, you must update your Prometheus queries according to the current version of the Serverless metering documentation.
10.2.3. Known issues
Unqualified usage of
knativeserving
inoc
commands no longer works because of the migration to a new API group. For example, this command will not work:$ oc get knativeserving -n knative-serving
Use the explicit fully-qualified format instead. For example:
$ oc get knativeserving.operator.knative.dev -n knative-serving
- OpenShift Container Platform scale from zero latency causes a delay of approximately 10 seconds when creating pods. This is a current OpenShift Container Platform limitation.
10.3. Release Notes for Red Hat OpenShift Serverless Technology Preview 1.3.0
10.3.1. New features
- OpenShift Serverless has been updated to use Knative Serving 0.10.1.
-
OpenShift Serverless has been updated to use Knative Client (
kn
CLI) 0.10.0. - OpenShift Serverless 1.3.0 is available on OpenShift Container Platform 4.2 and newer versions.
10.3.2. Fixed issues
-
Fixed a bug which caused Routes to have incorrect cross-namespaced
OwnerReferences
.
10.3.3. Known issues
-
Connecting to a private, cluster local Knative Service from a namespace that is not part of the
knative-serving-ingress
Service Mesh fails oni/o timeout
.
10.4. Release Notes for Red Hat OpenShift Serverless Technology Preview 1.2.0
10.4.1. New features
- OpenShift Serverless has been updated to use Knative Serving 0.9.0.
-
OpenShift Serverless has been updated to use Knative Client (
kn
CLI) 0.9.0. - OpenShift Serverless on OpenShift Container Platform 4.2 now uses the Operator Lifecycle Manager (OLM) dependency resolution mechanism to install the ServiceMesh Operator automatically. The required ServiceMeshControlPlane and ServiceMeshMemberRoll are also installed and managed for the user.
-
Access to the KnativeServing resource is now restricted to
cluster-admin
roles to prevent any user from blocking the resource. Onlycluster-admin
roles can create KnativeServing CRs. - The OpenShift Serverless Operator can now be found in the OperatorHub by searching for "knative".
- The OpenShift Container Platform web console now shows status conditions for the KnativeServing resource.
In version 1.2.0, the OpenShift Serverless Operator inspects network policies for namespaces.
If no network policy exists, the Operator automatically creates a wide open policy, to ensure that traffic can flow in and out of the namespace and OpenShift routes can be used.
If there is an existing network policy, OpenShift Serverless will not create a new policy. The Operator expects the user to continue managing their own network policies as needed for their applications. For example, the user must set policies that allow traffic to flow in and out of the namespace, and allow OpenShift routes to still be used after the namespace is added to a ServiceMeshMemberRoll.
10.4.2. Fixed issues
- In previous releases, using the same services or routes in different namespaces caused services to not work properly and caused OpenShift Container Platform routes to be overriden. This issue has been fixed.
-
In previous releases, different traffic split targets required a mandatory tag. A single traffic split can now be defined with
untagged
traffic targets. - Existing Knative Services and Routes which had been created with public visibility in OpenShift Serverless Operator version 1.1.0 were not able to be updated to cluster-local visibility. This issue is now fixed.
-
The
Unknown Uninitialized : Waiting for VirtualService
error has been fixed. - Knative service no longer returns a 503 status code when the cluster is running for a long time.
10.4.3. Known issues
- Installing the OpenShift Serverless Operator on OpenShift Container Platform versions older than 4.2.4 using OLM may incorrectly use community versions of the required dependencies. As a workaround, on OpenShift Container Platform versions older than 4.2.4, explicitly install the Red Hat provided versions of the Elastic Search, Jaeger, Kiali and ServiceMesh Operators before installing the OpenShift Serverless Operator.
If you are upgrading the OpenShift Serverless from version 1.1.0 to version 1.2.0 and you have set up a ServiceMeshControlPlane and ServiceMeshMemberRoll to work with your Knative Serving instance, you must remove the
knative-serving
namespace and any other namespaces that contain Knative Services from the ServiceMeshMemberRoll inistio-system
.You can also delete the ServiceMeshControlPlane from the namespace entirely if it is not required for other applications.
Once the upgrade starts, existing services will continue to work as before, but new Services will never become ready. Once you unblock the release by removing the
knative-serving
and any other relevant namespaces from the ServiceMeshMemberRoll, there will be a brief outage to all active Services. This will fix itself. Make sure that you remove all namespaces containing Knative Services from the original ServiceMeshMemberRoll.- gRPC and HTTP2 do not work against routes. This is a known limitation of OpenShift routes.
10.5. Release Notes for Red Hat OpenShift Serverless Technology Preview 1.1.0
10.5.1. New features
- OpenShift Serverless has been updated to use Knative Serving 0.8.1.
- Enhanced Operator metadata now includes more information regarding support state and a link to the official installation documentation.
- A developer preview version of Knative Eventing is now available for use with OpenShift Serverless, however this is not included in the OpenShift Serverless Operator and is not currently supported as part of this Technology Preview. For more information, see Knative Eventing on OpenShift Container Platform.
10.5.2. Fixed issues
Users who were not project administrators would previously see the following error when using OpenShift Serverless:
revisions.serving.knative.dev: User "sounds" cannot list resource "revisions
This issue has now been fixed with the addition of new RBAC rules.
-
A race condition was preventing Istio sidecar injection from working correctly. Istio did not consider the
knative-serving
namespace to be present in the ServiceMeshMemberRoll at the time of Pod creation. Istio now waits for status information from ServiceMeshMemberRoll which fixes this issue.
10.5.3. Known issues
-
Users may see the error
Unknown Uninitialized : Waiting for VirtualService to be ready
while waiting for a service in a newly created namespace to be ready, which can take several minutes. If a user allows enough time between the creation of a namespace and the creation of a service in the namespace (approximately one minute), this error may be avoided. - Existing Knative Services and Routes which have been created with public visibility cannot be updated to cluster-local visibility. If you require cluster-local visibility on Knative Services and Routes, this must be configured at the time of creating these resources.
-
Knative service returns a 503 status code when the cluster is running for a long time. The Knative Serving Pods do not show any errors. Restarting the
istio-pilot
Pod temporarily fixes the issue. - gRPC and HTTP2 do not work against routes. This is a known limitation of OpenShift routes.
10.6. Release Notes for Red Hat OpenShift Serverless Technology Preview 1.0.0
10.6.1. New features
This release of OpenShift Serverless introduces the OpenShift Serverless Operator, which supports Knative Serving 0.7.1 and is tested for OpenShift Service Mesh 1.0.
10.6.2. Known issues
The following limitations exist in OpenShift Serverless at this time:
-
The Knative Serving Operator should wait for ServiceMeshMemberRoll to include the
knative-serving
namespace. The installation procedure recommends creating theknative-serving
namespace and then installing the operator. Istio does not consider theknative-serving
namespace to be in the ServiceMeshMemberRoll when the Knative Serving Pods are being created. Consequently, the sidecars are not injected. -
Knative service returns a 503 status code when the cluster is running for a long time. The Knative Serving Pods do not show any errors. Restarting the
istio-pilot
Pod temporarily fixes the issue. - The gRPC and HTTP2 do not work against routes. This is a known limitation of OpenShift routes.
10.7. Additional resources
OpenShift Serverless is based on the open source Knative project.
- For details about the latest Knative Serving release, see the Knative Serving releases page.
- For details about the latest Knative Client release, see the Knative Client releases page.
- For details about the latest Knative Eventing release, see the Knative Eventing releases page.
Knative Eventing is currently available as a Developer Preview on OpenShift Container Platform. See the upstream Knative Eventing on OpenShift Container Platform documentation.