Skip to content

Knative Eventing release v0.16.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@knative-prow-releaser-robot knative-prow-releaser-robot released this 13 Oct 11:31
· 2 commits to release-0.16 since this release
7d93326
Artifact Description
eventing.yaml Core knative/eventing resources bundled with the InMemoryChannel and MT Channel Broker.
eventing-core.yaml The core knative/eventing resources: Channel, Subscription, Broker, Trigger, APIServerSource, ContainerSource, PingSource, EventType, Sequence, Parallel.
eventing-crds.yaml The core knative/eventing CRDs only.
eventing-sugar-controller.yaml Provides namespace label and trigger annotation based enablement of Knative Eventing in a namespace. This functionality was previously bundled with eventing.yaml.
deprecated-channel-broker.yaml The deprecated Broker implementation using Channels. Will be removed in a future release.
mt-channel-broker.yaml The multi-tenant Broker implementation using Channels. This is the default Broker implementation.
in-memory-channel.yaml The InMemoryChannel resource.
pre-install-to-v0.16.0.yaml The job to run before installing 0.16.
post-install-to-v0.16.0.yaml The job to run after installing 0.16.
eventing-pre-install-jobs.yaml The job to run before installing 0.16. Identical to pre-install-to-v0.16.0.yaml but with operator friendly name.
eventing-post-install-jobs.yaml The job to run after installing 0.16. Identical to post-install-to-v0.16.0.yaml but with operator friendly name.

Eventing

Meta

  • Minimum Kubernetes version is now 1.16.

Action Required

  • Eventing v1alpha1 API is removed.
    You must run pre-install job prior to upgrading to get Brokers storage version updated to v1beta1 API. (#3262, @vaikas)
  • flows.v1alpha1 is deleted, you must migrate to flows.v1beta1. (#3264, @vaikas)
    messaging.v1alpha1 is deleted, you must migrate to messaging.v1beta1. (#3275, @vaikas)
  • Remove ChannelBasedBroker. (#3212, @vaikas)
  • When upgrading from 0.15, there is an upgrade script to clean up old brokers and migrate them to the MTBroker implementation. (docs#2640 , @n3wscott)
  • Automatic Broker creation by labeling namespaces or annotating triggers has been moved to the sugar-controller component. If you rely on namespace/trigger labelings to create Brokers, you must install the sugar-controller component to retain these features. (#3459, @n3wscott)
  • IF DOWNGRADING FROM 0.16 back to 0.15.x you must first manually patch (or edit) subscriptions.messaging.knative.dev CRD like so:
    kubectl patch crd subscriptions.messaging.knative.dev --type='json' -p '[{"op" : "remove", "path" : "/spec/conversion/webhook"},{"op":"replace", "path":"/spec/conversion/strategy","value" : "None"}]' (#3461, @vaikas)
  • When upgrading from 0.15.0 or 0.15.1, the upgrade may fail on the first attempt but succeed on the second attempt. Between the first and second attempts the webhook will be unavailable and no changes to Knative objects will be accepted. To avoid this, first upgrade to 0.15.2 before upgrading to 0.16.0. (#3409, @anishj0shi)

New Features

  • Add messaging.v1.{Subscription,Channel,InMemoryChannel} resources. (#3403, @nlopezgi) (#3421, @aliok)
  • Add eventing.v1.{Broker,Trigger} resources. (#3372, @vaikas)
  • Add flows.v1.{Sequence, Parallel} resources. (#3354, #3417, @lionelvillard)
  • Installing sugar-controller will provide namespace label and trigger annotation based enablement of Knative Eventing in a namespace. (#3459, @n3wscott)
  • The eventing webhook may now have leader election enabled, and it may be horizontally scaled. (#3355, @mattmoor)
  • Update EventType reconciler v1alpha1 -> v1beta1 (#3200, @whaught)
  • Add release artifact of PRE upgrade to v0.16 that must be run before upgrading to v0.16. must run pre-install job before upgrading to v0.16. (#3283, @vaikas)
  • Eventing components now recognize both B3 and TraceContext style tracing. (#3388, @Harwayne)
  • Receive adapters can now run in leader elected mode (PingSource only) (#3370, @lionelvillard)
  • Add Delivery to parallel branches. (#3148, @vaikas)

Removed Features

  • For v1 Trigger you must always specify a spec.broker, it is no longer defaulted to "default" [b][c][d](#3468, @vaikas)
  • Eventing v1alpha1 API is removed. You must run pre-install job prior to upgrading to get Brokers to v1beta1 API. (#3262, @vaikas)
  • Remove ChannelBasedBroker (#3212, @vaikas)
  • flows.v1alpha1 is deleted, you must migrate to flows.v1beta1. (#3264, @vaikas)
  • messaging.v1alpha1 is being removed, you must migrate to messaging.v1beta1. (#3275, @vaikas)

Bug Fixes

  • BrokerClass annotation is supposed to be immutable but was not properly wired through, make it so. (#3523, @vaikas)
  • Make channel.spec.channeltemplate immutable as it should be. (#3520, @vaikas)
  • Subscription.spec.channel should be immutable, it’s even being tested but not actually wired through. (#3522, @vaikas)
  • The code that was ensuring that trigger.spec.broker field was immutable was never called. Well, except in the unit tests… (#3517, @vaikas)
  • PingSource and ApiServerSource set extension headers for ceOverride (#3334, @cr22rc)
  • Sequence now properly propagates the Delivery options to underlying Subscriptions. (#3146, @vaikas)
  • Fix mixed v1beta1 and v1alpha1 Subscriptions (#3049, @vaikas)
  • SUBSCRIBER_URI was not printed on for triggers (#3013, @matzew)
  • adding webhook details to eventypes CRD for conversion (#3063, @matzew)
  • API Server source supports now non-namespaced resources. (#2930, @odacremolbap)
  • When default broker is created via namespace reconciler, the Kubernetes events will be created in the correct namespace instead of some of them getting created in default namespace. (#3258, @devguyio)
  • Don't allow creation of brokers without BrokerClassAnnotation. (#3507, @vaikas)

Other Changes

  • Add Eventing sources conformance test for validating required labels on Eventing source CRDs (#3363, @devguyio)
  • Add Eventing sources conformance test for validating required labels on Eventing source CRDs (#3363, @devguyio)
  • Bumps K8s dependencies to 1.17.5. This makes our minimum K8s version 1.16 (#3163, @dprotaso)
  • Eventing Webhooks now use apiextensions.k8s.io/v1 APIs. to ensure smooth upgradability user has to upgrade eventing from eventing version 0.15.2. Or else, Upgrade might have to be attempted twice, which might have some ramifications such as webhook downtime. (#3409, @anishj0shi)
  • Leader election config only supports lease locks (#3514, @dprotaso)
  • Optionally apply /post-install-to-v0.16.0.yaml to clean up leftover Broker resources in all namespaces. (#3439, @n3wscott)
  • Our CustomResourceDefinitions now use apiextensions.k8s.io/v1 APIs (#3360, @matzew)
  • Reconcile PingSource using v1alpha2 API (#3274, @lionelvillard)
  • Reconcile Brokers using v1beta1 API (#3238, @vaikas)
  • Expanded the Channel data plane conformance test (@3394, @slinkydeveloper)