-
Notifications
You must be signed in to change notification settings - Fork 471
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
Upstream not found when configuring opentelemetry collector should be a warning, not an error #10293
Comments
Looking into this, it appears that in this case (as in the case with all NetworkFilterPlugins), any error returned is treated as an HTTPListenerError and so is not checked if it is a warning : https://github.com/k8sgateway/k8sgateway/blob/0fe3e5a9e82dde867f2dc3361eb9cf78f700de2e/projects/controller/pkg/translator/network_filters.go#L173 |
Yeah, I can at least (hopefully) help with the logic for detecting whether it's a warning or error. The error is created here in configuration_error.go. My assumption is that you should be able to cast the error in the tracing plugin to to the In terms of how you process the warning, I'm actually not 100% sure what that would look like though. I'm not sure if the tracing plugin has the structure required to handle that just yet unfortunately. |
The error is properly created as a warning but when it is processed, the handler does not care if it is a warning and treats it as an error. The whole listener error reporting would need to be updated to handle warnings (at least the HTTPListener reports) |
In solo-io#10409 I attempted to reduce the errors we see in CI due to this bug. As part of this work, we MUST remove those changes in CI, so that we are effectively testing this with retries (ie proving that the system is eventually consistent) |
Have created a fix for this in solo-io#10458 |
This is fixed in OSS v1.18.1, v1.17.17 |
@davidjumani i think we can close this then, no? |
Yes but don't have permissions to |
per above comments, the fix has been merged |
Gloo Edge Product
Open Source
Gloo Edge Version
1.17.16
Kubernetes Version
n/a
Describe the bug
If the upstream is not found in a tracing collector, it should produce a warning and not an error
Once we fix this, we should remove the
Eventually
statement in this conversationExpected Behavior
Produce a warning and not an error
Steps to reproduce the bug
collectorUpstreamRef
) to an upstream that does not exist.This should result in a warning, not an error.
Additional Environment Detail
No response
Additional Context
https://github.com/solo-io/gloo/pull/10123/files#r1803187220
Here is where the error is created: https://github.com/solo-io/gloo/blob/875b521197b4d4cbf79ed4008bf1c5cefd46b3db/projects/gloo/pkg/plugins/tracing/plugin.go#L311
It is uncertain which versions this affects - we should investigate all LTS branches to observe whether this behaviour is present and whether the fix should be backported.
Workarounds: see the test linked above, which wraps the the
kubectl apply
statement in anEventually
block. If this is hit in production, it may be necessary to ensure that the upstream is applied and accepted before theopenTelemetryConfig
upstream is configured.See also: https://github.com/solo-io/solo-projects/issues/6321
┆Issue is synchronized with this Asana task by Unito
The text was updated successfully, but these errors were encountered: