Repository: knative-sandbox/eventing-kafka-broker
Pull request #2083 (2022-04-12 11:05:33)

[Automated] Update eventing-kafka-broker-eventing-kafka nightly
/assign @knative/delivery-wg-leads
/cc @knative/delivery-wg-leads

Produced via:
```shell
for x in channel-crds.yaml source-crd.yaml; do
  curl https://storage.googleapis.com/knative-nightly/eventing-kafka/latest/$x > ${GITHUB_WORKSPACE}/./third_party/eventing-kafka-latest/$x
done
```

Details:
```

```

knative-prow[bot]: @knative-automation: GitHub didn't allow me to request PR reviews from the following users: knative/delivery-wg-leads.

Note that only [knative-sandbox members](https://github.com/orgs/knative-sandbox/people) and repo collaborators can review this PR, and authors cannot review their own PRs.

<details>

In response to [this](https://github.com/knative-sandbox/eventing-kafka-broker/pull/2083):

>/assign @knative/delivery-wg-leads
>/cc @knative/delivery-wg-leads
>
>Produced via:
>```shell
>for x in channel-crds.yaml source-crd.yaml; do
>  curl https://storage.googleapis.com/knative-nightly/eventing-kafka/latest/$x > ${GITHUB_WORKSPACE}/./third_party/eventing-kafka-latest/$x
>done
>```
>
>Details:
>```
>
>```


Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
</details>
codecov[bot]: # [Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2083?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) Report
> Merging [#2083](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2083?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (a18127c) into [main](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/commit/5f3011598749e4c1cae34aabfa38c38fca21d298?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox) (5f30115) will **not change** coverage.
> The diff coverage is `n/a`.

```diff
@@            Coverage Diff            @@
##               main    #2083   +/-   ##
=========================================
  Coverage     82.61%   82.61%           
  Complexity      675      675           
=========================================
  Files            72       72           
  Lines          2289     2289           
  Branches        195      195           
=========================================
  Hits           1891     1891           
  Misses          292      292           
  Partials        106      106           
```

| Flag | Coverage Δ | |
|---|---|---|
| java-unittests | `82.61% <ø> (ø)` | |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox#carryforward-flags-in-the-pull-request-comment) to find out more.


------

[Continue to review full report at Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2083?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2083?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox). Last update [5f30115...a18127c](https://codecov.io/gh/knative-sandbox/eventing-kafka-broker/pull/2083?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=knative-sandbox).

knative-prow[bot]: @knative-automation: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
integration-tests_eventing-kafka-broker_main | a18127cabd6b051332b07580065c987afdaf610f | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative-sandbox_eventing-kafka-broker/2083/integration-tests_eventing-kafka-broker_main/1513835714012254208) | true | `/test integration-tests_eventing-kafka-broker_main`

[Full PR test history](https://gubernator.knative.dev/pr/knative-sandbox_eventing-kafka-broker/2083). [Your PR dashboard](https://gubernator.knative.dev/pr/knative-automation).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
knative-prow[bot]: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/2083#" title="Author self-approved">knative-automation</a>*, *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/2083#pullrequestreview-939545923" title="Approved">matzew</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative-sandbox%2Feventing-kafka-broker).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/knative-sandbox/eventing-kafka-broker/blob/main/OWNERS)~~ [matzew]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
knative-prow[bot]: New changes are detected. LGTM label has been removed.
knative-prow[bot]: @knative-automation: The following test **failed**, say `/retest` to rerun all failed tests or `/retest-required` to rerun all mandatory failed tests:

Test name | Commit | Details | Required | Rerun command
--- | --- | --- | --- | ---
channel-reconciler-tests-sasl-ssl_eventing-kafka-broker_main | 1d4ded87f2e84c65e83b6b6b98664fb3123106dc | [link](https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative-sandbox_eventing-kafka-broker/2083/channel-reconciler-tests-sasl-ssl_eventing-kafka-broker_main/1514198093820596224) | true | `/test channel-reconciler-tests-sasl-ssl_eventing-kafka-broker_main`

[Your PR dashboard](https://prow.knative.dev/pr).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
knative-prow[bot]: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/2083#" title="Author self-approved">knative-automation</a>*, *<a href="https://github.com/knative-sandbox/eventing-kafka-broker/pull/2083#pullrequestreview-945327621" title="Approved">matzew</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=knative-sandbox%2Feventing-kafka-broker).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/knative-sandbox/eventing-kafka-broker/blob/main/OWNERS)~~ [matzew]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
knative-prow[bot]: New changes are detected. LGTM label has been removed.

Patch:
diff --git a/control-plane/cmd/kafka-controller/main.go b/control-plane/cmd/kafka-controller/main.go
index 5447ae63e..5a9624445 100644
--- a/control-plane/cmd/kafka-controller/main.go
+++ b/control-plane/cmd/kafka-controller/main.go
@@ -83,7 +83,7 @@ func main() {
 		injection.NamedControllerConstructor{
 			Name: "channel-controller",
 			ControllerConstructor: func(ctx context.Context, watcher configmap.Watcher) *controller.Impl {
-				return channel.NewController(ctx, watcher, channelEnv)
+				return channel.NewController(ctx, channelEnv)
 			},
 		},
 
diff --git a/control-plane/pkg/reconciler/channel/controller.go b/control-plane/pkg/reconciler/channel/controller.go
index 95b327420..e3792d3f3 100644
--- a/control-plane/pkg/reconciler/channel/controller.go
+++ b/control-plane/pkg/reconciler/channel/controller.go
@@ -36,7 +36,6 @@ import (
 	secretinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/secret"
 	serviceinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/service"
 
-	"knative.dev/pkg/configmap"
 	"knative.dev/pkg/controller"
 	"knative.dev/pkg/logging"
 	"knative.dev/pkg/network"
@@ -47,8 +46,7 @@ import (
 	"knative.dev/eventing-kafka-broker/control-plane/pkg/reconciler/base"
 )
 
-// TODO: no need for a configmap watcher?
-func NewController(ctx context.Context, watcher configmap.Watcher, configs *config.Env) *controller.Impl {
+func NewController(ctx context.Context, configs *config.Env) *controller.Impl {
 
 	messagingv1beta.RegisterAlternateKafkaChannelConditionSet(base.IngressConditionSet)
 
diff --git a/go.mod b/go.mod
index 6343492bf..58e06b99e 100644
--- a/go.mod
+++ b/go.mod
@@ -23,10 +23,10 @@ require (
 	k8s.io/apiserver v0.23.4
 	k8s.io/client-go v0.23.5
 	k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
-	knative.dev/eventing v0.30.1-0.20220411142907-e874b89d6d56
-	knative.dev/eventing-kafka v0.30.1-0.20220411133507-bdbcc864cf94
+	knative.dev/eventing v0.31.0
+	knative.dev/eventing-kafka v0.31.0
 	knative.dev/hack v0.0.0-20220411131823-6ffd8417de7c
-	knative.dev/pkg v0.0.0-20220411234407-00c122e376d0
-	knative.dev/reconciler-test v0.0.0-20220411142808-55eab02440e9
+	knative.dev/pkg v0.0.0-20220412134708-e325df66cb51
+	knative.dev/reconciler-test v0.0.0-20220412165608-994f0c3fab62
 	sigs.k8s.io/yaml v1.3.0
 )
diff --git a/go.sum b/go.sum
index 489021e91..76d2e176a 100644
--- a/go.sum
+++ b/go.sum
@@ -246,7 +246,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrp
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ=
 github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84=
 github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
 github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww=
@@ -282,7 +281,6 @@ github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih
 github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
 github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
 github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
 github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -837,7 +835,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20210920023735-84f357641f63/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220128200615-198e4374d7ed/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
@@ -1052,9 +1049,7 @@ golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs=
 golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1358,37 +1353,28 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt
 honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
 honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs=
 k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI=
 k8s.io/api v0.23.5 h1:zno3LUiMubxD/V1Zw3ijyKO3wxrhbUF1Ck+VjBvfaoA=
 k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8=
-k8s.io/apiextensions-apiserver v0.22.5/go.mod h1:tIXeZ0BrDxUb1PoAz+tgOz43Zi1Bp4BEEqVtUccMJbE=
 k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU=
 k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g=
 k8s.io/apimachinery v0.19.2/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA=
 k8s.io/apimachinery v0.19.7/go.mod h1:6sRbGRAVY5DOCuZwB5XkqguBqpqLU6q/kOaOdk29z6Q=
-k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U=
 k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM=
 k8s.io/apimachinery v0.23.5 h1:Va7dwhp8wgkUPWsEXk6XglXWU4IKYLKNlv8VkX7SDM0=
 k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM=
-k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ=
 k8s.io/apiserver v0.23.4 h1:zNvQlG+C/ERjuUz4p7eY/0IWHaMixRSBoxgmyIdwo9Y=
 k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc=
-k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y=
 k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0=
 k8s.io/client-go v0.23.5 h1:zUXHmEuqx0RY4+CsnkOn5l0GU+skkRXKGJrhmE2SLd8=
 k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4=
-k8s.io/code-generator v0.22.5/go.mod h1:sbdWCOVob+KaQ5O7xs8PNNaCTpbWVqNgA6EPwLOmRNk=
 k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk=
 k8s.io/code-generator v0.23.5 h1:xn3a6J5pUL49AoH6SPrOFtnB5cvdMl76f/bEY176R3c=
 k8s.io/code-generator v0.23.5/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk=
-k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI=
 k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E=
 k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
 k8s.io/gengo v0.0.0-20201203183100-97869a43a9d9/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
 k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
 k8s.io/gengo v0.0.0-20220307231824-4627b89bbf1b h1:vEhKDJESYfeRiaBNmRvO+/12RAo1cFeu6vGm1fBFY34=
 k8s.io/gengo v0.0.0-20220307231824-4627b89bbf1b/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
 k8s.io/klog v0.2.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -1396,53 +1382,28 @@ k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
 k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
 k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
 k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
-k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
 k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
-k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
-k8s.io/klog/v2 v2.40.2-0.20220227211518-7ea6d6adb645/go.mod h1:N3kgBtsFxMb4nQ0eBDgbHEt/dtxBuTkSFQ+7K5OUoz4=
 k8s.io/klog/v2 v2.60.1-0.20220317184644-43cc75f9ae89 h1:bUNlsw5yb353zbKMj8srOr6V2Ajhz1VkTKonP1L8r2o=
 k8s.io/klog/v2 v2.60.1-0.20220317184644-43cc75f9ae89/go.mod h1:N3kgBtsFxMb4nQ0eBDgbHEt/dtxBuTkSFQ+7K5OUoz4=
 k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
-k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
 k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4=
 k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk=
 k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-knative.dev/control-protocol v0.0.0-20220321133447-b92711ba8bfd/go.mod h1:ROaAETMPMmrf+vXlCYkyBaooDl1P005FopSS5XFRtog=
-knative.dev/eventing v0.30.1-0.20220322132012-a27ee9e2097c/go.mod h1:jefwGT1mmjQUnS1mvWH95mE1TtO9KbKzVelDCjE/4QU=
-knative.dev/eventing v0.30.1-0.20220411142907-e874b89d6d56 h1:AEt76KgwdxCrJmnvtQdU3mO5FVY0qWce56EpaFLJSUE=
-knative.dev/eventing v0.30.1-0.20220411142907-e874b89d6d56/go.mod h1:BGFxvInA40GsYeMBERaOjVq97kFJwubFO/A/dOdXtSg=
-knative.dev/eventing-kafka v0.30.1-0.20220411133507-bdbcc864cf94 h1:pllOCoDOhNNJx4sTaSzERdldOwsI411IrV3MQhFCltI=
-knative.dev/eventing-kafka v0.30.1-0.20220411133507-bdbcc864cf94/go.mod h1:NOLTYCYqacXsr4WJLXeYfLCi+BzGAs645tY/hIr8nCM=
-knative.dev/hack v0.0.0-20220224013837-e1785985d364/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220314052818-c9c3ea17a2e9/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220318020218-14f832e506f8/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220328133751-f06773764ce3/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220407171644-0e0784b13cef/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack v0.0.0-20220411013954-02c525c25eb7/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
+knative.dev/control-protocol v0.0.0-20220412172608-013cfc57d96d/go.mod h1:1lv5PHz2hL0DiqXrlEjTRUhdHAA8F5I7mIL/EsQ1W9A=
+knative.dev/eventing v0.31.0 h1:Bu1cBSwxAT1BsaexQ6PJPWc1mxx2LF/DeszvYEIytJ0=
+knative.dev/eventing v0.31.0/go.mod h1:XgJY27IxyBjmu/mz53cVlz+oMPPzzRaVXlPmWKCqEd8=
+knative.dev/eventing-kafka v0.31.0 h1:1zB6/uGyhvCjmVd0z7Wg2vxQNnhTDd9ItL+QUzr708s=
+knative.dev/eventing-kafka v0.31.0/go.mod h1:RZ/b/xO0sEPL0it4Xm0kSbrhATdsND1WVQq5AcHi7ro=
 knative.dev/hack v0.0.0-20220411131823-6ffd8417de7c h1:aXsFXeky/GccNQxwf72CS4NR3EoqTqsCVNKQnblfwr0=
 knative.dev/hack v0.0.0-20220411131823-6ffd8417de7c/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
-knative.dev/hack/schema v0.0.0-20220314052818-c9c3ea17a2e9/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
-knative.dev/hack/schema v0.0.0-20220411013954-02c525c25eb7/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
-knative.dev/pkg v0.0.0-20220301181942-2fdd5f232e77/go.mod h1:SsH9J6Gz+CvrHmoL0TELJXmMmohqKSQ5bpJvCv+1+ZI=
-knative.dev/pkg v0.0.0-20220310195447-38af013b30ff/go.mod h1:SsH9J6Gz+CvrHmoL0TELJXmMmohqKSQ5bpJvCv+1+ZI=
-knative.dev/pkg v0.0.0-20220316002959-3a4cc56708b9/go.mod h1:3r6srDeiuiG5DXSGfIe12r2U3Tj5JeeHnQaIXPe/4Zc=
-knative.dev/pkg v0.0.0-20220318133418-7f16595277b2/go.mod h1:nKJ2L4o7or3j58eqMK843kbIM0SiYnAXXsisfEQECS8=
-knative.dev/pkg v0.0.0-20220318185521-e6e3cf03d765/go.mod h1:nKJ2L4o7or3j58eqMK843kbIM0SiYnAXXsisfEQECS8=
-knative.dev/pkg v0.0.0-20220407210145-4d62e1dbb943/go.mod h1:0A5D5tOLettuVoi5x+0SLGRfrvVemXXtLH247WupPJk=
-knative.dev/pkg v0.0.0-20220411053220-ca82d2bbb2da/go.mod h1:0A5D5tOLettuVoi5x+0SLGRfrvVemXXtLH247WupPJk=
-knative.dev/pkg v0.0.0-20220411131850-75629c8ab60e/go.mod h1:0A5D5tOLettuVoi5x+0SLGRfrvVemXXtLH247WupPJk=
-knative.dev/pkg v0.0.0-20220411234407-00c122e376d0 h1:dY5DItNU5gQGFddsxkGQvBt4Zu1cZWE7irhNV9rYHpU=
-knative.dev/pkg v0.0.0-20220411234407-00c122e376d0/go.mod h1:0A5D5tOLettuVoi5x+0SLGRfrvVemXXtLH247WupPJk=
-knative.dev/reconciler-test v0.0.0-20220303141206-84821d26ed1f/go.mod h1:K5pZJkenonlT9o+MtRaNsBP7BazGwjhqYPepuV1zdnU=
-knative.dev/reconciler-test v0.0.0-20220314160418-3b7a0d7f7b4b/go.mod h1:RX+Piu5qCWSN3ciiJCOnWDEwd9v9hawbpW73z4HgKA8=
-knative.dev/reconciler-test v0.0.0-20220321082547-afd9ca7f6603/go.mod h1:kqLx5ImxclqwC7SR1w+2pzuhqvkHMDVqDzEmbAixkII=
-knative.dev/reconciler-test v0.0.0-20220411014048-490effc323f3/go.mod h1:lpugBzYOTtwVbTS+UHDG8oCBEb6mRsBnJm7Lp/Yhcq4=
-knative.dev/reconciler-test v0.0.0-20220411142808-55eab02440e9 h1:igM2d9OHjEabeX4WP1h5Ov95Kecl1x/7c8e5ZOqZAy0=
-knative.dev/reconciler-test v0.0.0-20220411142808-55eab02440e9/go.mod h1:gH/ghOMDp7c2I2EAAhH4kYh0MI2hJ75OtiAMfeSl85o=
+knative.dev/hack/schema v0.0.0-20220411131823-6ffd8417de7c/go.mod h1:ffjwmdcrH5vN3mPhO8RrF2KfNnbHeCE2C60A+2cv3U0=
+knative.dev/pkg v0.0.0-20220412134708-e325df66cb51 h1:4AmaxeY7+r/PYYz3HS9pMY21Mw3ykO6STLFEk2FoJ2s=
+knative.dev/pkg v0.0.0-20220412134708-e325df66cb51/go.mod h1:j2MeD8s+JoCu1vegX80GbRXV/xd20Jm1NznxBYtVXiM=
+knative.dev/reconciler-test v0.0.0-20220412165608-994f0c3fab62 h1:NAX8bVXDuTOOGH+XPLHWA/A5ZH4NvDXBgx3GytAt3vk=
+knative.dev/reconciler-test v0.0.0-20220412165608-994f0c3fab62/go.mod h1:BZai3XTZ7+A3HSwgm5cSgwS/Oc/9mOZJrAk+TtESABA=
 modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
 modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
 modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
@@ -1453,13 +1414,11 @@ pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
 rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
 rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
-sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg=
 sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4=
 sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s=
 sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
 sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
-sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
 sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y=
 sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
 sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
diff --git a/vendor/knative.dev/eventing-kafka/pkg/common/tracing/tracing.go b/vendor/knative.dev/eventing-kafka/pkg/common/tracing/tracing.go
new file mode 100644
index 000000000..db934cc1c
--- /dev/null
+++ b/vendor/knative.dev/eventing-kafka/pkg/common/tracing/tracing.go
@@ -0,0 +1,134 @@
+/*
+Copyright 2020 The Knative Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package tracing
+
+import (
+	"context"
+	"net/http"
+	"strings"
+
+	"github.com/Shopify/sarama"
+	protocolkafka "github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2"
+	"go.opencensus.io/plugin/ochttp/propagation/tracecontext"
+	"go.opencensus.io/trace"
+	"go.uber.org/zap"
+)
+
+const (
+	traceParentHeader = "traceparent"
+	traceStateHeader  = "tracestate"
+)
+
+var format = &tracecontext.HTTPFormat{}
+
+// SerializeTrace returns the traceparent and tracestate values from a span context as a slice
+// of sarama.RecordHeader structs that can be appended to an existing sarama.ProducerMessage
+func SerializeTrace(spanContext trace.SpanContext) []sarama.RecordHeader {
+	traceParent, traceState := format.SpanContextToHeaders(spanContext)
+
+	if traceState != "" {
+		return []sarama.RecordHeader{{
+			Key:   []byte(traceParentHeader),
+			Value: []byte(traceParent),
+		}, {
+			Key:   []byte(traceStateHeader),
+			Value: []byte(traceState),
+		}}
+	}
+
+	return []sarama.RecordHeader{{
+		Key:   []byte(traceParentHeader),
+		Value: []byte(traceParent),
+	}}
+}
+
+// StartTraceFromMessage extracts the headers from a message (traceparent and tracestate) and
+// uses them to start a span, which can be used with whatever tracing backend is set up (e.g. Zipkin)
+// in order to trace the flow of a message.  Multiple spans may be part of a single trace, for
+// example, a dead letter message or a reply should be easy to match with the original message based
+// on the trace ID.  This ID is originally set in the first message header using the SerializeTrace function.
+func StartTraceFromMessage(logger *zap.SugaredLogger, inCtx context.Context, message *protocolkafka.Message, spanName string) (context.Context, *trace.Span) {
+	sc, ok := ParseSpanContext(message.Headers)
+	if !ok {
+		logger.Warn("Cannot parse the spancontext, creating a new span")
+		return trace.StartSpan(inCtx, spanName)
+	}
+
+	return trace.StartSpanWithRemoteParent(inCtx, spanName, sc)
+}
+
+// ParseSpanContext takes the "traceparent" and "tracestate" headers and regenerates the
+// trace span context from them.  This context can then be used to start a new span
+// that uses the same trace ID as a different (but related) span.
+func ParseSpanContext(headers map[string][]byte) (sc trace.SpanContext, ok bool) {
+	traceParentBytes, ok := headers[traceParentHeader]
+	if !ok {
+		return trace.SpanContext{}, false
+	}
+	traceParent := string(traceParentBytes)
+
+	traceState := ""
+	if traceStateBytes, ok := headers[traceStateHeader]; ok {
+		traceState = string(traceStateBytes)
+	}
+
+	return format.SpanContextFromHeaders(traceParent, traceState)
+}
+
+// ConvertHttpHeaderToRecordHeaders converts the specified HTTP Header to Sarama RecordHeaders
+// It returns an array of RecordHeaders as is used in the Sarama ProducerMessage.
+// Multi-value HTTP Headers are decomposed into separate RecordHeader instances rather
+// than serializing as JSON or similar.
+func ConvertHttpHeaderToRecordHeaders(httpHeader http.Header) []sarama.RecordHeader {
+	recordHeaders := make([]sarama.RecordHeader, 0)
+	for headerKey, headerValues := range httpHeader {
+		for _, headerValue := range headerValues {
+			recordHeader := sarama.RecordHeader{
+				Key:   []byte(headerKey),
+				Value: []byte(headerValue),
+			}
+			recordHeaders = append(recordHeaders, recordHeader)
+		}
+	}
+	return recordHeaders
+}
+
+// ConvertRecordHeadersToHttpHeader converts the specified Sarama RecordHeaders to an HTTP Header.
+// It expects an array of RecordHeader pointers as is used in the Sarama ConsumerMessage.
+// Multi-value HTTP Headers are re-composed form RecordHeader instances sharing the same
+// Key rather than de-serializing JSON or similar.
+func ConvertRecordHeadersToHttpHeader(recordHeaders []*sarama.RecordHeader) http.Header {
+	httpHeader := make(http.Header)
+	for _, recordHeader := range recordHeaders {
+		if recordHeader != nil {
+			httpHeader.Add(string(recordHeader.Key), string(recordHeader.Value))
+		}
+	}
+	return httpHeader
+}
+
+// FilterCeRecordHeaders returns a new array of RecordHeader pointers including only
+// instances with non "ce_" Keys.
+func FilterCeRecordHeaders(recordHeaders []*sarama.RecordHeader) []*sarama.RecordHeader {
+	filteredRecordHeaders := make([]*sarama.RecordHeader, 0)
+	for _, recordHeader := range recordHeaders {
+		if recordHeader != nil && !strings.HasPrefix(string(recordHeader.Key), "ce_") {
+			filteredRecordHeaders = append(filteredRecordHeaders, recordHeader)
+		}
+	}
+	return filteredRecordHeaders
+}
diff --git a/vendor/knative.dev/eventing/pkg/scheduler/statefulset/scheduler.go b/vendor/knative.dev/eventing/pkg/scheduler/statefulset/scheduler.go
index 643bae00f..8f472043c 100644
--- a/vendor/knative.dev/eventing/pkg/scheduler/statefulset/scheduler.go
+++ b/vendor/knative.dev/eventing/pkg/scheduler/statefulset/scheduler.go
@@ -143,7 +143,7 @@ func (s *StatefulSetScheduler) Schedule(vpod scheduler.VPod) ([]duckv1alpha1.Pla
 		return nil, err
 	}
 	vpodFromLister := st.GetVPod(vpod.GetKey(), vpods)
-	if vpod.GetResourceVersion() != vpodFromLister.GetResourceVersion() {
+	if vpodFromLister != nil && vpod.GetResourceVersion() != vpodFromLister.GetResourceVersion() {
 		return nil, fmt.Errorf("vpod to schedule has resource version different from one in indexer")
 	}
 
@@ -682,36 +682,19 @@ func (s *StatefulSetScheduler) updateStatefulset(obj interface{}) {
 }
 
 func (s *StatefulSetScheduler) reservePlacements(vpod scheduler.VPod, placements []duckv1alpha1.Placement) {
-	existing := vpod.GetPlacements()
-
 	if len(placements) == 0 { // clear our old placements in reserved
 		s.reserved[vpod.GetKey()] = make(map[string]int32)
 	}
 
 	for _, p := range placements {
-		placed := int32(0)
-		for _, e := range existing {
-			if e.PodName == p.PodName {
-				placed = e.VReplicas
-				break
-			}
-		}
-
-		// Only record placements exceeding existing ones, since the
-		// goal is to prevent pods to be overcommitted.
-		// When less than existing ones, recording is done to help with
-		// for removal of vreps with descheduling policies
 		// note: track all vreplicas, not only the new ones since
 		// the next time `state()` is called some vreplicas might
 		// have been committed.
-		if placed != p.VReplicas {
-			if _, ok := s.reserved[vpod.GetKey()]; !ok {
-				s.reserved[vpod.GetKey()] = make(map[string]int32)
-			}
-			s.reserved[vpod.GetKey()][p.PodName] = p.VReplicas
+		if _, ok := s.reserved[vpod.GetKey()]; !ok {
+			s.reserved[vpod.GetKey()] = make(map[string]int32)
 		}
+		s.reserved[vpod.GetKey()][p.PodName] = p.VReplicas
 	}
-
 }
 
 func (s *StatefulSetScheduler) makeZeroPlacements(vpod scheduler.VPod, placements []duckv1alpha1.Placement) {
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 647b1e3e6..633e2ba22 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1150,7 +1150,7 @@ k8s.io/utils/internal/third_party/forked/golang/net
 k8s.io/utils/net
 k8s.io/utils/pointer
 k8s.io/utils/trace
-# knative.dev/eventing v0.30.1-0.20220411142907-e874b89d6d56
+# knative.dev/eventing v0.31.0
 ## explicit
 knative.dev/eventing/pkg/apis/config
 knative.dev/eventing/pkg/apis/duck
@@ -1298,7 +1298,7 @@ knative.dev/eventing/test/upgrade/prober/wathola/fetcher
 knative.dev/eventing/test/upgrade/prober/wathola/forwarder
 knative.dev/eventing/test/upgrade/prober/wathola/receiver
 knative.dev/eventing/test/upgrade/prober/wathola/sender
-# knative.dev/eventing-kafka v0.30.1-0.20220411133507-bdbcc864cf94
+# knative.dev/eventing-kafka v0.31.0
 ## explicit
 knative.dev/eventing-kafka/pkg/apis/bindings
 knative.dev/eventing-kafka/pkg/apis/bindings/v1beta1
@@ -1352,6 +1352,7 @@ knative.dev/eventing-kafka/pkg/common/config
 knative.dev/eventing-kafka/pkg/common/constants
 knative.dev/eventing-kafka/pkg/common/kafka/offset
 knative.dev/eventing-kafka/pkg/common/kafka/sarama
+knative.dev/eventing-kafka/pkg/common/tracing
 knative.dev/eventing-kafka/test
 knative.dev/eventing-kafka/test/e2e/helpers
 knative.dev/eventing-kafka/test/lib
@@ -1366,7 +1367,7 @@ knative.dev/eventing-kafka/test/upgrade/installation
 ## explicit
 knative.dev/hack
 knative.dev/hack/shell
-# knative.dev/pkg v0.0.0-20220411234407-00c122e376d0
+# knative.dev/pkg v0.0.0-20220412134708-e325df66cb51
 ## explicit
 knative.dev/pkg/apiextensions/storageversion
 knative.dev/pkg/apiextensions/storageversion/cmd/migrate
@@ -1469,7 +1470,7 @@ knative.dev/pkg/webhook/json
 knative.dev/pkg/webhook/resourcesemantics
 knative.dev/pkg/webhook/resourcesemantics/defaulting
 knative.dev/pkg/webhook/resourcesemantics/validation
-# knative.dev/reconciler-test v0.0.0-20220411142808-55eab02440e9
+# knative.dev/reconciler-test v0.0.0-20220412165608-994f0c3fab62
 ## explicit
 knative.dev/reconciler-test/cmd/eventshub
 knative.dev/reconciler-test/pkg/environment


Test patch:
diff --git a/control-plane/pkg/reconciler/channel/channel_test.go b/control-plane/pkg/reconciler/channel/channel_test.go
index e9d7045bf..4028cac26 100644
--- a/control-plane/pkg/reconciler/channel/channel_test.go
+++ b/control-plane/pkg/reconciler/channel/channel_test.go
@@ -79,15 +79,6 @@ var DefaultEnv = &config.Env{
 	DataPlaneConfigFormat:       base.Json,
 }
 
-// TODO: compare with inmemorychannel_test.go at /Users/aliok/code/github.com/knative/eventing/pkg/reconciler/inmemorychannel/controller/inmemorychannel_test.go
-// TODO: compare with channel_test.go at /Users/aliok/code/github.com/knative/eventing/pkg/reconciler/channel/channel_test.go
-// TODO: are we setting a InitialOffsetsCommitted status? we gotta set it on the subscription. 1) can we do it? 2) does it make sense?
-// TODO: test if things from channel spec is used properly?
-// TODO: test if things from subscription spec is used properly?
-// TODO: rename test cases consistently
-// TODO: fix the order of status updates
-// TODO: add tests where there are no CM updates
-
 func TestReconcileKind(t *testing.T) {
 
 	t.Setenv("SYSTEM_NAMESPACE", "knative-eventing")
@@ -200,7 +191,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						StatusProbeSucceeded,
 					),
@@ -348,7 +338,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						StatusProbeFailed(prober.StatusNotReady),
 					),
 				},
@@ -417,7 +406,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						StatusProbeFailed(prober.StatusUnknown),
 					),
 				},
@@ -486,7 +474,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						WithSubscribers(Subscriber1(WithFreshSubscriber, WithNoSubscriberURI)),
 					),
 				},
@@ -563,7 +550,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						WithSubscribers(Subscriber1()),
 						StatusProbeSucceeded,
@@ -637,7 +623,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						WithSubscribers(Subscriber1()),
 						StatusProbeSucceeded,
@@ -711,7 +696,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						WithSubscribers(Subscriber1()),
 						StatusProbeSucceeded,
@@ -794,7 +778,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						WithSubscribers(Subscriber1(), Subscriber2()),
 						StatusProbeSucceeded,
@@ -1066,7 +1049,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						StatusProbeSucceeded,
 					),
@@ -1150,7 +1132,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						WithSubscribers(Subscriber1()),
 						StatusProbeSucceeded,
@@ -1219,7 +1200,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						StatusProbeSucceeded,
 					),
@@ -1285,7 +1265,6 @@ func TestReconcileKind(t *testing.T) {
 						StatusConfigMapUpdatedReady(&env),
 						StatusTopicReadyWithName(ChannelTopic()),
 						StatusDataPlaneAvailable,
-						//StatusInitialOffsetsCommitted,
 						ChannelAddressable(&env),
 						StatusProbeSucceeded,
 					),
diff --git a/control-plane/pkg/reconciler/channel/controller_test.go b/control-plane/pkg/reconciler/channel/controller_test.go
index 1717bcf8e..f41e93c91 100644
--- a/control-plane/pkg/reconciler/channel/controller_test.go
+++ b/control-plane/pkg/reconciler/channel/controller_test.go
@@ -30,7 +30,6 @@ import (
 	_ "knative.dev/pkg/client/injection/kube/informers/core/v1/pod/fake"
 	_ "knative.dev/pkg/client/injection/kube/informers/core/v1/secret/fake"
 	_ "knative.dev/pkg/client/injection/kube/informers/core/v1/service/fake"
-	"knative.dev/pkg/configmap"
 	dynamicclient "knative.dev/pkg/injection/clients/dynamicclient/fake"
 	reconcilertesting "knative.dev/pkg/reconciler/testing"
 
@@ -62,11 +61,6 @@ func TestNewController(t *testing.T) {
 
 	controller := NewController(
 		ctx,
-		configmap.NewStaticWatcher(&corev1.ConfigMap{
-			ObjectMeta: metav1.ObjectMeta{
-				Name: "cm",
-			},
-		}),
 		configs,
 	)
 	if controller == nil {
diff --git a/third_party/eventing-kafka-latest/channel-crds.yaml b/third_party/eventing-kafka-latest/channel-crds.yaml
index 6b0be523e..fcd14e6aa 100644
--- a/third_party/eventing-kafka-latest/channel-crds.yaml
+++ b/third_party/eventing-kafka-latest/channel-crds.yaml
@@ -17,7 +17,7 @@ kind: CustomResourceDefinition
 metadata:
   name: kafkachannels.messaging.knative.dev
   labels:
-    kafka.eventing.knative.dev/release: "v20220410-66242ea65"
+    kafka.eventing.knative.dev/release: "v20220419-a62d7ca56"
     knative.dev/crd-install: "true"
     messaging.knative.dev/subscribable: "true"
     duck.knative.dev/addressable: "true"
diff --git a/third_party/eventing-kafka-latest/source-crd.yaml b/third_party/eventing-kafka-latest/source-crd.yaml
index 1836b7dd4..a124ad7d6 100644
--- a/third_party/eventing-kafka-latest/source-crd.yaml
+++ b/third_party/eventing-kafka-latest/source-crd.yaml
@@ -16,7 +16,7 @@ apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   labels:
-    kafka.eventing.knative.dev/release: "v20220410-66242ea65"
+    kafka.eventing.knative.dev/release: "v20220419-a62d7ca56"
     eventing.knative.dev/source: "true"
     duck.knative.dev/source: "true"
     knative.dev/crd-install: "true"
diff --git a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/channel-config.toml b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/channel-config.toml
index 99f04dcf1..b825ddcad 100644
--- a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/channel-config.toml
+++ b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/channel-config.toml
@@ -1,7 +1,8 @@
 # logLevel = 'DEBUG'
+tracingConfig = '{{- .TracingConfig -}}'
 [sender]
 address = '{{- .Endpoint -}}'
 interval = {{ .Config.Interval.Nanoseconds }}
 
 [forwarder]
-target = 'http://wathola-receiver.{{- .Namespace -}}.svc.cluster.local'
+target = '{{- .ForwarderTarget -}}'
diff --git a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/kafkasender.go b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/kafkasender.go
index 2f0f30398..1b8044645 100644
--- a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/kafkasender.go
+++ b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/kafkasender.go
@@ -26,8 +26,10 @@ import (
 	protocolkafka "github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2"
 	cloudevents "github.com/cloudevents/sdk-go/v2"
 	"github.com/cloudevents/sdk-go/v2/binding"
+	"go.opencensus.io/trace"
 	"go.uber.org/zap"
 	"knative.dev/eventing-kafka/pkg/common/client"
+	"knative.dev/eventing-kafka/pkg/common/tracing"
 	"knative.dev/eventing/test/upgrade/prober/wathola/sender"
 )
 
@@ -47,7 +49,7 @@ var (
 
 // CreateKafkaSender will create a wathola sender that sends events to Kafka
 // topic directly.
-func CreateKafkaSender(ctx context.Context, log *zap.SugaredLogger) sender.EventSender {
+func CreateKafkaSender(ctx context.Context, log *zap.SugaredLogger) sender.EventSenderWithContext {
 	return &kafkaSender{
 		ctx: ctx,
 		log: log,
@@ -64,14 +66,17 @@ func (k *kafkaSender) Supports(endpoint interface{}) bool {
 	}
 }
 
-func (k *kafkaSender) SendEvent(ce cloudevents.Event, rawEndpoint interface{}) error {
+func (k *kafkaSender) SendEventWithContext(ctx context.Context, ce cloudevents.Event, rawEndpoint interface{}) error {
 	endpoint, err := castAsTopicEndpoint(rawEndpoint)
 	if err != nil {
 		// this should never happen, as Supports func should be called first.
 		return err
 	}
+	clientID := "continualtests-kafka-sender"
+	kafkaSenderCtx, span := trace.StartSpan(ctx, clientID+"-"+endpoint.TopicName)
+	defer span.End()
 	conf, err := client.NewConfigBuilder().
-		WithClientId("continualtests-kafka-sender").
+		WithClientId(clientID).
 		WithDefaults().
 		Build(k.ctx)
 	// Prevent excessive wait time.
@@ -92,6 +97,7 @@ func (k *kafkaSender) SendEvent(ce cloudevents.Event, rawEndpoint interface{}) e
 	if err != nil {
 		return fmt.Errorf("%w: %v", ErrCantSend, err)
 	}
+	kafkaProducerMessage.Headers = append(kafkaProducerMessage.Headers, tracing.SerializeTrace(trace.FromContext(kafkaSenderCtx).SpanContext())...)
 	part, offset, err := producer.SendMessage(kafkaProducerMessage)
 	if err != nil {
 		return fmt.Errorf("%w: %v", ErrCantSend, err)
diff --git a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/source-config.toml b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/source-config.toml
index 0276bcd10..d5315489b 100644
--- a/vendor/knative.dev/eventing-kafka/test/upgrade/continual/source-config.toml
+++ b/vendor/knative.dev/eventing-kafka/test/upgrade/continual/source-config.toml
@@ -1,4 +1,5 @@
 # logLevel = 'DEBUG'
+tracingConfig = '{{- .TracingConfig -}}'
 [sender]
 interval = {{ .Config.Interval.Nanoseconds }}
   [sender.address]
@@ -6,4 +7,4 @@ interval = {{ .Config.Interval.Nanoseconds }}
     topicName = '{{- .Endpoint.TopicName -}}'
 
 [forwarder]
-target = 'http://wathola-receiver.{{- .Namespace -}}.svc.cluster.local'
+target = '{{- .ForwarderTarget -}}'
diff --git a/vendor/knative.dev/eventing-kafka/test/upgrade/installation/eventing_core.go b/vendor/knative.dev/eventing-kafka/test/upgrade/installation/eventing_core.go
index 274d16861..4bd0da305 100644
--- a/vendor/knative.dev/eventing-kafka/test/upgrade/installation/eventing_core.go
+++ b/vendor/knative.dev/eventing-kafka/test/upgrade/installation/eventing_core.go
@@ -22,5 +22,6 @@ import pkgupgrade "knative.dev/pkg/test/upgrade"
 func EventingCore() pkgupgrade.Operation {
 	return pkgupgrade.NewOperation("EventingCore", func(c pkgupgrade.Context) {
 		runShellFunc("start_latest_knative_eventing", c)
+		runShellFunc("install_zipkin", c)
 	})
 }
diff --git a/vendor/knative.dev/eventing-kafka/test/upgrade/test_main.go b/vendor/knative.dev/eventing-kafka/test/upgrade/test_main.go
index 00adb0c6c..c0636ef50 100644
--- a/vendor/knative.dev/eventing-kafka/test/upgrade/test_main.go
+++ b/vendor/knative.dev/eventing-kafka/test/upgrade/test_main.go
@@ -17,6 +17,7 @@ limitations under the License.
 package upgrade
 
 import (
+	"log"
 	"os"
 	"testing"
 
@@ -25,6 +26,7 @@ import (
 	eventingTest "knative.dev/eventing/test"
 	testlib "knative.dev/eventing/test/lib"
 	"knative.dev/pkg/system"
+	"knative.dev/pkg/test/zipkin"
 )
 
 var (
@@ -46,7 +48,10 @@ func RunMainTest(m *testing.M) {
 	}
 	os.Exit(func() int {
 		defer testlib.ExportLogs(testlib.SystemLogsDir, system.Namespace())
-
+		// Any tests may SetupZipkinTracing, it will only actually be done once. This should be the ONLY
+		// place that cleans it up. If an individual test calls this instead, then it will break other
+		// tests that need the tracing in place.
+		defer zipkin.CleanupZipkinTracingSetup(log.Printf)
 		return m.Run()
 	}())
 }
diff --git a/vendor/knative.dev/eventing/test/e2e-common.sh b/vendor/knative.dev/eventing/test/e2e-common.sh
index 2d794cd47..b3e96560b 100644
--- a/vendor/knative.dev/eventing/test/e2e-common.sh
+++ b/vendor/knative.dev/eventing/test/e2e-common.sh
@@ -246,17 +246,16 @@ function unleash_duck() {
 # Teardown the Knative environment after tests finish.
 function knative_teardown() {
   echo ">> Stopping Knative Eventing"
-  echo "Uninstalling Knative Eventing"
-  ko delete --ignore-not-found=true --now --timeout 60s -f ${EVENTING_CONFIG}
-  wait_until_object_does_not_exist namespaces ${SYSTEM_NAMESPACE}
-
-  echo ">> Uninstalling dependencies"
-  for i in ${!UNINSTALL_LIST[@]}; do
+  for i in "${!UNINSTALL_LIST[@]}"; do
     # We uninstall elements in the reverse of the order they were installed.
     local YAML="${UNINSTALL_LIST[$(( ${#array[@]} - $i ))]}"
     echo ">> Bringing down YAML: ${YAML}"
     kubectl delete --ignore-not-found=true -f "${YAML}" || return 1
   done
+  kubectl delete --ignore-not-found=true namespace "${SYSTEM_NAMESPACE}"
+  wait_until_object_does_not_exist namespaces "${SYSTEM_NAMESPACE}"
+  kubectl delete --ignore-not-found=true namespace 'knative-monitoring'
+  wait_until_object_does_not_exist namespaces 'knative-monitoring'
 }
 
 # Add function call to trap
diff --git a/vendor/knative.dev/eventing/test/upgrade/prober/verify.go b/vendor/knative.dev/eventing/test/upgrade/prober/verify.go
index 20e5302a0..75cb41e76 100644
--- a/vendor/knative.dev/eventing/test/upgrade/prober/verify.go
+++ b/vendor/knative.dev/eventing/test/upgrade/prober/verify.go
@@ -47,6 +47,7 @@ const (
 	jobWaitInterval     = time.Second
 	jobWaitTimeout      = 10 * time.Minute
 	stepEventMsgPattern = "event #([0-9]+).*"
+	exportTraceLimit    = 1000
 )
 
 // Verify will verify prober state after finished has been sent.
@@ -60,7 +61,6 @@ func (p *prober) Verify() (eventErrs []error, eventsSent int) {
 		// Required for proper cleanup.
 		zipkin.ZipkinTracingEnabled = true
 	}
-	defer zipkin.CleanupZipkinTracingSetup(p.log.Infof)
 	p.log.Info("Waiting for complete report from receiver...")
 	start := time.Now()
 	if err := wait.PollImmediate(jobWaitInterval, jobWaitTimeout, func() (bool, error) {
@@ -81,8 +81,11 @@ func (p *prober) Verify() (eventErrs []error, eventsSent int) {
 		elapsed, report.EventsSent, report.State)
 	p.log.Infof("Availability: %.3f%%, Requests sent: %d.",
 		availRate, report.TotalRequests)
-	for _, t := range report.Thrown.Missing {
+	for i, t := range report.Thrown.Missing {
 		eventErrs = append(eventErrs, errors.New(t))
+		if i > exportTraceLimit {
+			continue
+		}
 		stepNo := p.getStepNoFromMsg(t)
 		if err := p.exportTrace(p.getTraceForStepEvent(stepNo), fmt.Sprintf("step-%s.json", stepNo)); err != nil {
 			p.log.Warnf("Failed to export trace for Step event #%s: %v", stepNo, err)
@@ -94,12 +97,15 @@ func (p *prober) Verify() (eventErrs []error, eventsSent int) {
 	for _, t := range report.Thrown.Unavailable {
 		eventErrs = append(eventErrs, errors.New(t))
 	}
-	for _, t := range report.Thrown.Duplicated {
+	for i, t := range report.Thrown.Duplicated {
 		if p.config.OnDuplicate == Warn {
 			p.log.Warn("Duplicate events: ", t)
 		} else if p.config.OnDuplicate == Error {
 			eventErrs = append(eventErrs, errors.New(t))
 		}
+		if i > exportTraceLimit {
+			continue
+		}
 		stepNo := p.getStepNoFromMsg(t)
 		if err := p.exportTrace(p.getTraceForStepEvent(stepNo), fmt.Sprintf("step-%s.json", stepNo)); err != nil {
 			p.log.Warnf("Failed to export trace for Step event #%s: %v", stepNo, err)