Skip to content

Commit 8b43fa0

Browse files
authored
Drop compatibility with older target allocator versions (#2850)
We've made a breaking change to the target allocator configuration in 0.93.0. This change removes operator compatibility with target allocator versions older than that.
1 parent 1d759b5 commit 8b43fa0

File tree

5 files changed

+21
-54
lines changed

5 files changed

+21
-54
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: breaking
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
5+
component: target allocator
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: Drop compatibility with older target allocator versions
9+
10+
# One or more tracking issues related to the change
11+
issues: [1907]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext: |
17+
We've made a breaking change to the target allocator configuration in 0.93.0. This change removes operator
18+
compatibility with target allocator versions older than that. Users running more recent target allocator versions
19+
are unaffected.

controllers/builder_test.go

+2-12
Original file line numberDiff line numberDiff line change
@@ -1372,11 +1372,6 @@ config:
13721372
- __meta_service_name
13731373
target_label: instance
13741374
filter_strategy: relabel-config
1375-
label_selector:
1376-
app.kubernetes.io/component: opentelemetry-collector
1377-
app.kubernetes.io/instance: test.test
1378-
app.kubernetes.io/managed-by: opentelemetry-operator
1379-
app.kubernetes.io/part-of: opentelemetry
13801375
prometheus_cr:
13811376
pod_monitor_selector: null
13821377
service_monitor_selector: null
@@ -1412,7 +1407,7 @@ prometheus_cr:
14121407
"app.kubernetes.io/version": "latest",
14131408
},
14141409
Annotations: map[string]string{
1415-
"opentelemetry-targetallocator-config/hash": "ba38217bad7e399f1210b90a464252159a8c4e17060c246799b8e4cb29a6f18f",
1410+
"opentelemetry-targetallocator-config/hash": "dd0ff440929239a362ebc85256b89e109d37bd2c77b400bd2039582cbda56be5",
14161411
},
14171412
},
14181413
Spec: corev1.PodSpec{
@@ -1771,11 +1766,6 @@ config:
17711766
- __meta_service_name
17721767
target_label: instance
17731768
filter_strategy: relabel-config
1774-
label_selector:
1775-
app.kubernetes.io/component: opentelemetry-collector
1776-
app.kubernetes.io/instance: test.test
1777-
app.kubernetes.io/managed-by: opentelemetry-operator
1778-
app.kubernetes.io/part-of: opentelemetry
17791769
prometheus_cr:
17801770
pod_monitor_selector: null
17811771
service_monitor_selector: null
@@ -1811,7 +1801,7 @@ prometheus_cr:
18111801
"app.kubernetes.io/version": "latest",
18121802
},
18131803
Annotations: map[string]string{
1814-
"opentelemetry-targetallocator-config/hash": "ba38217bad7e399f1210b90a464252159a8c4e17060c246799b8e4cb29a6f18f",
1804+
"opentelemetry-targetallocator-config/hash": "dd0ff440929239a362ebc85256b89e109d37bd2c77b400bd2039582cbda56be5",
18151805
},
18161806
},
18171807
Spec: corev1.PodSpec{

controllers/reconcile_test.go

-8
Original file line numberDiff line numberDiff line change
@@ -462,17 +462,9 @@ func TestOpenTelemetryCollectorReconciler_Reconcile(t *testing.T) {
462462
"app.kubernetes.io/part-of": "opentelemetry",
463463
},
464464
}
465-
taConfig["label_selector"] = map[string]string{
466-
"app.kubernetes.io/instance": "default.test",
467-
"app.kubernetes.io/managed-by": "opentelemetry-operator",
468-
"app.kubernetes.io/component": "opentelemetry-collector",
469-
"app.kubernetes.io/part-of": "opentelemetry",
470-
}
471465
taConfig["config"] = promConfig["config"]
472466
taConfig["allocation_strategy"] = "consistent-hashing"
473467
taConfig["filter_strategy"] = "relabel-config"
474-
taConfig["pod_monitor_selector"] = map[string]string{}
475-
taConfig["service_monitor_selector"] = map[string]string{}
476468
taConfig["prometheus_cr"] = map[string]any{
477469
"scrape_interval": "30s",
478470
"pod_monitor_selector": &metav1.LabelSelector{},

internal/manifests/targetallocator/configmap.go

-15
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ func ConfigMap(params manifests.Params) (*corev1.ConfigMap, error) {
3838
taConfig := make(map[interface{}]interface{})
3939
prometheusCRConfig := make(map[interface{}]interface{})
4040
taConfig["collector_selector"] = taSpec.CollectorSelector
41-
// The below instruction is here for compatibility with the previous target allocator version
42-
// TODO: Drop it after 3 more versions
43-
taConfig["label_selector"] = taSpec.CollectorSelector.MatchLabels
4441

4542
// Add scrape configs if present
4643
if instance.Spec.ScrapeConfigs != nil {
@@ -62,20 +59,8 @@ func ConfigMap(params manifests.Params) (*corev1.ConfigMap, error) {
6259

6360
prometheusCRConfig["service_monitor_selector"] = taSpec.PrometheusCR.ServiceMonitorSelector
6461

65-
// The below instruction is here for compatibility with the previous target allocator version
66-
// TODO: Drop it after 3 more versions
67-
if taSpec.PrometheusCR.ServiceMonitorSelector != nil {
68-
taConfig["service_monitor_selector"] = &taSpec.PrometheusCR.ServiceMonitorSelector.MatchLabels
69-
}
70-
7162
prometheusCRConfig["pod_monitor_selector"] = taSpec.PrometheusCR.PodMonitorSelector
7263

73-
// The below instruction is here for compatibility with the previous target allocator version
74-
// TODO: Drop it after 3 more versions
75-
if taSpec.PrometheusCR.PodMonitorSelector != nil {
76-
taConfig["pod_monitor_selector"] = &taSpec.PrometheusCR.PodMonitorSelector.MatchLabels
77-
}
78-
7964
if len(prometheusCRConfig) > 0 {
8065
taConfig["prometheus_cr"] = prometheusCRConfig
8166
}

internal/manifests/targetallocator/configmap_test.go

-19
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,6 @@ config:
5757
- 0.0.0.0:8888
5858
- 0.0.0.0:9999
5959
filter_strategy: relabel-config
60-
label_selector:
61-
app.kubernetes.io/component: opentelemetry-collector
62-
app.kubernetes.io/instance: default.my-instance
63-
app.kubernetes.io/managed-by: opentelemetry-operator
64-
app.kubernetes.io/part-of: opentelemetry
6560
prometheus_cr:
6661
pod_monitor_selector: null
6762
service_monitor_selector: null
@@ -106,13 +101,6 @@ config:
106101
- 0.0.0.0:8888
107102
- 0.0.0.0:9999
108103
filter_strategy: relabel-config
109-
label_selector:
110-
app.kubernetes.io/component: opentelemetry-collector
111-
app.kubernetes.io/instance: default.my-instance
112-
app.kubernetes.io/managed-by: opentelemetry-operator
113-
app.kubernetes.io/part-of: opentelemetry
114-
pod_monitor_selector:
115-
release: my-instance
116104
prometheus_cr:
117105
pod_monitor_selector:
118106
matchlabels:
@@ -122,8 +110,6 @@ prometheus_cr:
122110
matchlabels:
123111
release: my-instance
124112
matchexpressions: []
125-
service_monitor_selector:
126-
release: my-instance
127113
`,
128114
}
129115
targetAllocator := targetAllocatorInstance()
@@ -172,11 +158,6 @@ config:
172158
- 0.0.0.0:8888
173159
- 0.0.0.0:9999
174160
filter_strategy: relabel-config
175-
label_selector:
176-
app.kubernetes.io/component: opentelemetry-collector
177-
app.kubernetes.io/instance: default.my-instance
178-
app.kubernetes.io/managed-by: opentelemetry-operator
179-
app.kubernetes.io/part-of: opentelemetry
180161
prometheus_cr:
181162
pod_monitor_selector: null
182163
scrape_interval: 30s

0 commit comments

Comments
 (0)