1
0
mirror of https://github.com/coreos/prometheus-operator.git synced 2026-02-05 06:45:27 +01:00

tests: skip UTF8 e2e tests for Prometheus V2 (#8087)

* Revert "test: fix testPrometheusUTF8LabelSupport for Prometheus V2"

This reverts commit fdeaa44a81.

* tests: skip utf8 tests for prometheus v2

Signed-off-by: Jayapriya Pai <slashpai9@gmail.com>

---------

Signed-off-by: Jayapriya Pai <slashpai9@gmail.com>
This commit is contained in:
Jayapriya Pai
2025-11-12 18:42:59 +05:30
committed by GitHub
parent 3ab43822d2
commit bf79619068

View File

@@ -32,7 +32,6 @@ import (
"testing"
"time"
"github.com/blang/semver/v4"
"github.com/kylelemons/godebug/pretty"
"github.com/stretchr/testify/require"
"golang.org/x/net/http2"
@@ -5495,6 +5494,9 @@ func testPrometheusReconciliationOnSecretChanges(t *testing.T) {
}
func testPrometheusUTF8MetricsSupport(t *testing.T) {
if os.Getenv("TEST_PROMETHEUS_V2") == "true" {
t.Skip("UTF-8 metrics support is not available in Prometheus v2")
}
t.Parallel()
testCtx := framework.NewTestCtx(t)
@@ -5721,6 +5723,10 @@ func testPrometheusUTF8MetricsSupport(t *testing.T) {
}
func testPrometheusUTF8LabelSupport(t *testing.T) {
if os.Getenv("TEST_PROMETHEUS_V2") == "true" {
t.Skip("UTF-8 label support is not available in Prometheus v2")
}
t.Parallel()
testCtx := framework.NewTestCtx(t)
@@ -5786,39 +5792,6 @@ func testPrometheusUTF8LabelSupport(t *testing.T) {
_, err = framework.KubeClient.CoreV1().Services(ns).Create(context.Background(), service, metav1.CreateOptions{})
require.NoError(t, err)
// Determine the Prometheus version that will be used.
promVersion := operator.DefaultPrometheusVersion
if os.Getenv("TEST_PROMETHEUS_V2") == "true" {
promVersion = operator.DefaultPrometheusV2
}
// Parse the version to check if it supports UTF-8.
parsedVersion, err := semver.ParseTolerant(promVersion)
require.NoError(t, err)
supportsUTF8 := parsedVersion.GTE(semver.MustParse("3.0.0"))
var relabelConfigs []monitoringv1.RelabelConfig
var expectedLabelName string
if supportsUTF8 {
// Use UTF-8 label for Prometheus 3.0+
relabelConfigs = []monitoringv1.RelabelConfig{{
SourceLabels: []monitoringv1.LabelName{"__meta_kubernetes_service_label_cluster"},
TargetLabel: "service_clustér_label",
Action: "replace",
}}
expectedLabelName = "service_clustér_label"
} else {
// Use ASCII-only label for Prometheus 2.x
relabelConfigs = []monitoringv1.RelabelConfig{{
SourceLabels: []monitoringv1.LabelName{"__meta_kubernetes_service_label_cluster"},
TargetLabel: "service_cluster_label",
Action: "replace",
}}
expectedLabelName = "service_cluster_label"
}
sm := &monitoringv1.ServiceMonitor{
ObjectMeta: metav1.ObjectMeta{
Name: "utf8-servicemonitor",
@@ -5830,9 +5803,13 @@ func testPrometheusUTF8LabelSupport(t *testing.T) {
MatchLabels: map[string]string{"app.name": "instrumented-sample-app"},
},
Endpoints: []monitoringv1.Endpoint{{
Port: "web",
Interval: "2s",
RelabelConfigs: relabelConfigs,
Port: "web",
Interval: "2s",
RelabelConfigs: []monitoringv1.RelabelConfig{{
SourceLabels: []monitoringv1.LabelName{"__meta_kubernetes_service_label_cluster"},
TargetLabel: "service_clustér_label",
Action: "replace",
}},
BasicAuth: &monitoringv1.BasicAuth{
Username: v1.SecretKeySelector{
LocalObjectReference: v1.LocalObjectReference{Name: "basic-auth"},
@@ -5874,32 +5851,26 @@ func testPrometheusUTF8LabelSupport(t *testing.T) {
// Default Prometheus service name is "prometheus-operated".
promSvcName := "prometheus-operated"
// Wait for the instrumented-sample-app target to be discovered.
// Wait for the instrumented-sample-app target to be discovered
err = framework.WaitForHealthyTargets(context.Background(), ns, promSvcName, 1)
require.NoError(t, err)
// Verify label queries work based on the Prometheus version.
queryLabel := fmt.Sprintf(`{"%s"="dev"}`, expectedLabelName)
// Verify UTF8 labels work in queries.
err = wait.PollUntilContextTimeout(context.Background(), 5*time.Second, 2*time.Minute, false, func(ctx context.Context) (bool, error) {
results, err := framework.PrometheusQuery(ns, promSvcName, "http", queryLabel)
results, err := framework.PrometheusQuery(ns, promSvcName, "http", `{"service_clustér_label"="dev"}`)
if err != nil {
t.Logf("Label query failed: %v", err)
t.Logf("UTF8 label query failed: %v", err)
return false, nil
}
if len(results) == 0 {
t.Logf("Label query returned no results")
t.Logf("UTF8 label query returned no results")
return false, nil
}
return true, nil
})
if supportsUTF8 {
require.NoError(t, err, "UTF-8 label queries should work in Prometheus 3.0+")
} else {
require.NoError(t, err, "ASCII label queries should work in Prometheus 2.x")
}
require.NoError(t, err, "UTF-8 label queries should work in Prometheus 3.0+ queries")
}
func isAlertmanagerDiscoveryWorking(ns, promSVCName, alertmanagerName string) func(ctx context.Context) (bool, error) {