Closed simonpasquier closed 2 weeks ago
cc @saswatamcode
I wonder, if bumping prometheus version in our e2e tests also makes sense (probably good to do once v3 is fully released)?
What we've done for Prometheus operator (and this is how we found out the issue) is to configure a periodic workflow running all our e2e tests with the latest v3.0.0 release (currently rc.0). It gives an early signal on potentially breaking changes.
Yup, I think we might need similar! In any case, merging this fix
Heads up - Prometheus v3.0.0 is now out, so folks using the latest Thanos release v0.36.1 will start to see Sidecar breaking.
A workaround is to remove the new PrometheusText1.0.0
from the default list of scrape protocols:
global:
...
scrape_protocols:
- OpenMetricsText1.0.0
- OpenMetricsText0.0.1
- PrometheusText0.0.4
Changes
Prometheus v3.0.0-rc.0 introduces a new scrape protocol (
PrometheusText1.0.0
) which is present by default in the global configuration. It breaks the Thanos sidecar when it wants to retrieve the external labels.This change replaces the use of the Prometheus
GlobalConfig
struct by a minimal struct which unmarshals only theexternal_labels
key.See also https://github.com/prometheus-operator/prometheus-operator/issues/7078
Verification
Unit test added.