-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bool in HelmChartSpec.items.spec.set
can stall controller queue processing
#172
Comments
Does anyone now how do unstall the controller? It can't do any other thing because of the stalling. Annoying. How can't this be fixed in such a long time? |
Uninstall it from what? It is not fixed because it is triggered by bad input from the user; the fix is to correct your manifest so that it does not have invalid field content. Adding an admission webhook to validate resources when they are created is more work than we current want to take on. |
@brandond you are right, this is an issue from the user. Nevertheless, as far as I remember, the problem is that the whole HelmChart processing stop when such « syntax error » occurs, for any HelmChart. And the error message is accessible only on the /var/log/k3s.log. For a user, it would be helpful if the error is reported on the HelmChart itself, via the Status or an event. |
The error itself that stalls the queue is deep inside the Kubernetes code that handles unmarshalling the list/watch event from the channel; I suspect that fixing it on that side would be quite involved. The proper fix is probably to validate the resources before they're admitted to the cluster but that is also a lot of work.
Yeah but we can't do that, as the resource is invalid. It couldn't be decoded so we don't know which one it is to attach an event to it. |
Honestly, just having the controller generate CRDs a proper OpenAPI field spec instead of using |
It looks like the standalone controller already did that, it's just K3s and RKE2 that register the CRDs without schema. I have a PR open to fix that. |
Closing here, as the standalone controller already enables schema validation via its CRDs. It is just that K3s/RKE2 do not create the CRDs with schema, so they allow invalid resources to be created. I have opened an issue and PR to address that. |
Thanks @brandond for this analysis and report. |
From @Stargeras in rancher/rke2#3849:
The text was updated successfully, but these errors were encountered: