astefanutti commented on pull request #2195:
URL: https://github.com/apache/camel-k/pull/2195#issuecomment-837999280
Here is my current analysis of the Knative workflow failure:
- Some tests that covers SinkBinding fail, as the Knative eventing webhook
fails to inject the `K_SINK` environment variable, which leads to Integrations
being unable to resolve the sink channel:
`java.lang.IllegalArgumentException: Unable to find a resource definition
for channel/sink/messages`
- The Knative eventing webhook fails because it reports the sink channel
referenced in the SinkBinding does not exist:
```json
{
"level":"error",
"ts":"2021-05-07T08:19:20.022Z",
"logger":"eventing-webhook.SinkBindings",
"caller":"sinkbinding/controller.go:153",
"msg":"Failed to get URI from Destination: %!w(*errors.StatusError=&{{{
} { <nil>} Failure inmemorychannels.messaging.knative.dev \"messages\" not
found NotFound 0xc001469e60 404}})",
"commit":"a414aee",
"knative.dev/pod":"eventing-webhook-6c759fbb5b-sjvc7",
"knative.dev/traceid":"3f02244d-1dc7-4a99-82e3-caf29cdcbe87",
"knative.dev/key":"test-53bbfc1e-9583-4fec-9bd6-04560089130c/knativegetpost1",
"logging.googleapis.com/labels":{},
"logging.googleapis.com/sourceLocation":{
"file":"knative.dev/eventing/pkg/reconciler/sinkbinding/controller.go",
"line":"153","function":"knative.dev/eventing/pkg/reconciler/sinkbinding.(*SinkBindingSubResourcesReconciler).Reconcile"},
"stacktrace":"knative.dev/eventing/pkg/reconciler/sinkbinding.(*SinkBindingSubResourcesReconciler).Reconcile\n\tknative.dev/eventing/pkg/reconciler/sinkbinding/controller.go:153\nknative.dev/pkg/webhook/psbinding.(*BaseReconciler).reconcile\n\tknative.dev/[email protected]/webhook/psbinding/reconciler.go:188\nknative.dev/pkg/webhook/psbinding.(*BaseReconciler).Reconcile\n\tknative.dev/[email protected]/webhook/psbinding/reconciler.go:140\nknative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/[email protected]/controller/controller.go:523\nknative.dev/pkg/controller.(*Impl).RunContext.func3\n\tknative.dev/[email protected]/controller/controller.go:461"
}
```
- But evidences from the tests and the Knative InMemoryChannel controller
indicate the sink channel actually exists
- Running each of these tests individually succeeds, while running two of
them sequentially produces the error, despite the fact they run in different
namespaces
I haven't been able to reproduce the error locally, so that seems
environment specific, which complicates the production of a simple reproducer.
Someone with deeper knowledge about the Knative eventing internals may help
troubleshooting the issue, and possibly identifying the root cause.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]