Commit 68c3c42
authored
fix(collector): remove prometheus annotations on disablePrometheusAnnotations update (#5069)
* fix(collector): track operator-stamped prometheus annotations for clean removal
When spec.observability.metrics.disablePrometheusAnnotations is toggled
from false to true on an existing OpenTelemetryCollector, the pod template
mutate path previously preserved any annotation that existed on the current
resource but was absent from the desired render. This left the
prometheus.io/scrape, prometheus.io/port, and prometheus.io/path
annotations stuck on the rolled pods.
The operator now stamps an ownership marker
(collector.opentelemetry.io/prometheus-annotations-added=true) whenever
PodAnnotations adds at least one default prometheus.io/* annotation.
mutatePodTemplate consults that marker on the existing pod template and
strips the prometheus.io/* keys + the marker only when the marker is
present AND the keys are absent from the desired pod template. This
preserves prometheus.io/* annotations the user set out of band on the same
collector — the design @swiatekm landed at the 2026-06-04 SIG meeting.
If the user pre-sets all three default prometheus.io/* values via
metadata.annotations or spec.podAnnotations, the operator adds nothing on
top and the marker is not stamped — the operator claims nothing.
Upgrade compatibility: pre-upgrade collectors have no marker. On the first
reconcile after upgrade with DisablePrometheusAnnotations=false, the marker
is stamped and subsequent toggles work normally. If a user upgrades and
immediately sets DisablePrometheusAnnotations=true, the operator never
stamps the marker on the existing pod template (the stamp path is gated on
!Disable), so the pre-upgrade prom annotations survive that single toggle
as a documented one-time cost. The mutate test covers this scenario.
Fixes #5043
Signed-off-by: praveen9354 <praveen9354@gmail.com>
* fix(collector): rename prometheus-annotations-added marker to operator. prefix
Per @swiatekm review on #5069, align the ownership-marker key with the
operator.opentelemetry.io/ prefix already used for Service-tracking
annotations in this repo (collector-headless-service,
collector-monitoring-service, collector-service-type) rather than the
collector.opentelemetry.io/ prefix introduced in the previous revision.
Signed-off-by: praveen9354 <praveen9354@gmail.com>
---------
Signed-off-by: praveen9354 <praveen9354@gmail.com>1 parent 8a1ba4d commit 68c3c42
13 files changed
Lines changed: 296 additions & 14 deletions
File tree
- .chloggen
- internal
- controllers/testdata
- manifests
- collector
- manifestutils
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| |||
294 | 295 | | |
295 | 296 | | |
296 | 297 | | |
| 298 | + | |
297 | 299 | | |
298 | 300 | | |
299 | 301 | | |
300 | 302 | | |
301 | | - | |
| 303 | + | |
302 | 304 | | |
303 | 305 | | |
304 | 306 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
| |||
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
| 161 | + | |
160 | 162 | | |
161 | 163 | | |
162 | 164 | | |
163 | | - | |
| 165 | + | |
164 | 166 | | |
165 | 167 | | |
166 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
60 | 61 | | |
61 | 62 | | |
62 | 63 | | |
| |||
237 | 238 | | |
238 | 239 | | |
239 | 240 | | |
| 241 | + | |
240 | 242 | | |
241 | 243 | | |
242 | 244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
14 | 22 | | |
15 | 23 | | |
16 | 24 | | |
| |||
59 | 67 | | |
60 | 68 | | |
61 | 69 | | |
| 70 | + | |
62 | 71 | | |
63 | 72 | | |
64 | 73 | | |
| 74 | + | |
65 | 75 | | |
66 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
67 | 85 | | |
68 | 86 | | |
69 | 87 | | |
| |||
0 commit comments