-
Notifications
You must be signed in to change notification settings - Fork 82
kafka-controller-manager CrashLoopBackOff when unreconciled KafkaSources already exist during startup #494
Comments
/assign |
I was able to reproduce this one. Problem is that kafka-controller-manager has both the reconciler and the webhook in it. The process is something like this:
When there are no existing KafkaSource CRs, certificate controller handles the certificate and later when a CR is created, webhook is called fine. Also, informers call the reconciler fine. When there is an existing KafkaSource CR and you just start the kafka-controller-manager pod, syncing the informers causes the API server to go and call the webhook for KafkaSource conversion. However, webhook's certificate is not yet setup. I think this only happens when there's a clean uninstall and then install aka when there's no certificate setup in the secret. I don't think it will have an effect visible during any upgrades. The cert will be there in that case. I can see 2 alternative solutions:
|
@vaikas @slinkydeveloper mind having a look? The same problem happens in knative/eventing as well: knative/eventing#4876 |
@vaikas any comments on the above? |
This issue is stale because it has been open for 90 days with no |
Any update to fix this issue? |
/remove-lifecycle stale |
@lionelvillard: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Seems like separating the webhook from the controller should fix this issue. |
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
Describe the bug
With eventing-kafka 0.20
When re-installing eventing and eventing-kafka (in this case using Serverless operator, but the issue could possibly be triggered other ways), kafka-controller-manager sometimes CrashLoopBackOff s
showing
errors and eventually
Expected behavior
kafka-controller-manager should not crash during startup when KafkaSources already exist.
To Reproduce
Install eventing-kafka
Uninstall eventing-kafka (leave the CRD)
Create a few KafkaSources
Install eventing-kafka
Knative release version
0.20.0
Additional context
The problem seems to be that the kafka-controller-manager uses v1beta1 KafkaSource APIs for sources stored as v1alpha1 during startup. Listing as v1beta1 requires conversion, which is supposed to be handled by the very same kafka-controller-manager that is not yet ready. This leads to a vicious cycle.
(kafka-source-webhook points to the kafka-controller-manager)
The text was updated successfully, but these errors were encountered: