Skip to content

Commit c288d41

Browse files
authored
Update E2E test Prometheus image to 2.26.0 (#4135)
* update E2E test Prometheus image to 2.26 Signed-off-by: yeya24 <[email protected]> * no hardcoding port Signed-off-by: yeya24 <[email protected]>
1 parent e043efb commit c288d41

File tree

2 files changed

+43
-21
lines changed

2 files changed

+43
-21
lines changed

test/e2e/e2ethanos/services.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ var defaultBackoffConfig = util.BackoffConfig{
3838

3939
// TODO(bwplotka): Run against multiple?
4040
func DefaultPrometheusImage() string {
41-
return "quay.io/prometheus/prometheus:v2.19.3"
41+
return "quay.io/prometheus/prometheus:v2.26.0"
4242
}
4343

4444
func DefaultAlertmanagerImage() string {

test/e2e/rules_api_test.go

+42-20
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import (
1616
"github.com/cortexproject/cortex/integration/e2e"
1717
"github.com/pkg/errors"
1818

19+
http_util "github.com/thanos-io/thanos/pkg/http"
1920
"github.com/thanos-io/thanos/pkg/promclient"
21+
"github.com/thanos-io/thanos/pkg/query"
2022
"github.com/thanos-io/thanos/pkg/rules/rulespb"
2123
"github.com/thanos-io/thanos/pkg/runutil"
2224
"github.com/thanos-io/thanos/pkg/store/labelpb"
@@ -33,42 +35,47 @@ func TestRulesAPI_Fanout(t *testing.T) {
3335
testutil.Ok(t, err)
3436
t.Cleanup(e2ethanos.CleanScenario(t, s))
3537

36-
rulesSubDir := filepath.Join("rules")
37-
testutil.Ok(t, os.MkdirAll(filepath.Join(s.SharedDir(), rulesSubDir), os.ModePerm))
38-
createRuleFiles(t, filepath.Join(s.SharedDir(), rulesSubDir))
38+
promRulesSubDir := filepath.Join("rules")
39+
testutil.Ok(t, os.MkdirAll(filepath.Join(s.SharedDir(), promRulesSubDir), os.ModePerm))
40+
// Create the abort_on_partial_response alert for Prometheus.
41+
// We don't create the warn_on_partial_response alert as Prometheus has strict yaml unmarshalling.
42+
createRuleFile(t, filepath.Join(s.SharedDir(), promRulesSubDir, "rules.yaml"), testAlertRuleAbortOnPartialResponse)
43+
44+
thanosRulesSubDir := filepath.Join("thanos-rules")
45+
testutil.Ok(t, os.MkdirAll(filepath.Join(s.SharedDir(), thanosRulesSubDir), os.ModePerm))
46+
createRuleFiles(t, filepath.Join(s.SharedDir(), thanosRulesSubDir))
3947

4048
// 2x Prometheus.
4149
prom1, sidecar1, err := e2ethanos.NewPrometheusWithSidecar(
4250
s.SharedDir(),
4351
netName,
4452
"prom1",
45-
defaultPromConfig("ha", 0, "", filepath.Join(e2e.ContainerSharedDir, rulesSubDir, "*.yaml")),
53+
defaultPromConfig("ha", 0, "", filepath.Join(e2e.ContainerSharedDir, promRulesSubDir, "*.yaml")),
4654
e2ethanos.DefaultPrometheusImage(),
4755
)
4856
testutil.Ok(t, err)
4957
prom2, sidecar2, err := e2ethanos.NewPrometheusWithSidecar(
5058
s.SharedDir(),
5159
netName,
5260
"prom2",
53-
defaultPromConfig("ha", 1, "", filepath.Join(e2e.ContainerSharedDir, rulesSubDir, "*.yaml")),
61+
defaultPromConfig("ha", 1, "", filepath.Join(e2e.ContainerSharedDir, promRulesSubDir, "*.yaml")),
5462
e2ethanos.DefaultPrometheusImage(),
5563
)
5664
testutil.Ok(t, err)
5765
testutil.Ok(t, s.StartAndWaitReady(prom1, sidecar1, prom2, sidecar2))
5866

5967
// 2x Rulers.
60-
r1, err := e2ethanos.NewRuler(s.SharedDir(), "rule1", rulesSubDir, nil, nil)
68+
r1, err := e2ethanos.NewRuler(s.SharedDir(), "rule1", thanosRulesSubDir, nil, nil)
6169
testutil.Ok(t, err)
62-
r2, err := e2ethanos.NewRuler(s.SharedDir(), "rule2", rulesSubDir, nil, nil)
70+
r2, err := e2ethanos.NewRuler(s.SharedDir(), "rule2", thanosRulesSubDir, nil, nil)
6371
testutil.Ok(t, err)
64-
testutil.Ok(t, s.StartAndWaitReady(r1, r2))
6572

6673
q, err := e2ethanos.NewQuerier(
6774
s.SharedDir(),
6875
"query",
69-
[]string{sidecar1.GRPCNetworkEndpoint(), sidecar2.GRPCNetworkEndpoint(), r1.GRPCNetworkEndpoint(), r2.GRPCNetworkEndpoint()},
76+
[]string{sidecar1.GRPCNetworkEndpoint(), sidecar2.GRPCNetworkEndpoint(), r1.NetworkEndpointFor(s.NetworkName(), 9091), r2.NetworkEndpointFor(s.NetworkName(), 9091)},
7077
nil,
71-
[]string{sidecar1.GRPCNetworkEndpoint(), sidecar2.GRPCNetworkEndpoint(), r1.GRPCNetworkEndpoint(), r2.GRPCNetworkEndpoint()},
78+
[]string{sidecar1.GRPCNetworkEndpoint(), sidecar2.GRPCNetworkEndpoint(), r1.NetworkEndpointFor(s.NetworkName(), 9091), r2.NetworkEndpointFor(s.NetworkName(), 9091)},
7279
nil,
7380
nil,
7481
nil,
@@ -79,6 +86,22 @@ func TestRulesAPI_Fanout(t *testing.T) {
7986
testutil.Ok(t, err)
8087
testutil.Ok(t, s.StartAndWaitReady(q))
8188

89+
queryCfg := []query.Config{
90+
{
91+
EndpointsConfig: http_util.EndpointsConfig{
92+
StaticAddresses: []string{q.NetworkHTTPEndpoint()},
93+
Scheme: "http",
94+
},
95+
},
96+
}
97+
98+
// Recreate rulers with the corresponding query config.
99+
r1, err = e2ethanos.NewRuler(s.SharedDir(), "rule1", thanosRulesSubDir, nil, queryCfg)
100+
testutil.Ok(t, err)
101+
r2, err = e2ethanos.NewRuler(s.SharedDir(), "rule2", thanosRulesSubDir, nil, queryCfg)
102+
testutil.Ok(t, err)
103+
testutil.Ok(t, s.StartAndWaitReady(r1, r2))
104+
82105
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute)
83106
t.Cleanup(cancel)
84107

@@ -87,7 +110,7 @@ func TestRulesAPI_Fanout(t *testing.T) {
87110
ruleAndAssert(t, ctx, q.HTTPEndpoint(), "", []*rulespb.RuleGroup{
88111
{
89112
Name: "example_abort",
90-
File: "/shared/rules/rules-0.yaml",
113+
File: "/shared/rules/rules.yaml",
91114
Rules: []*rulespb.Rule{
92115
rulespb.NewAlertingRule(&rulespb.Alert{
93116
Name: "TestAlert_AbortOnPartialResponse",
@@ -98,8 +121,15 @@ func TestRulesAPI_Fanout(t *testing.T) {
98121
{Name: "severity", Value: "page"},
99122
}},
100123
}),
124+
},
125+
},
126+
{
127+
Name: "example_abort",
128+
File: "/shared/thanos-rules/rules-0.yaml",
129+
Rules: []*rulespb.Rule{
101130
rulespb.NewAlertingRule(&rulespb.Alert{
102131
Name: "TestAlert_AbortOnPartialResponse",
132+
State: rulespb.AlertState_FIRING,
103133
Query: "absent(some_metric)",
104134
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{
105135
{Name: "severity", Value: "page"},
@@ -109,20 +139,12 @@ func TestRulesAPI_Fanout(t *testing.T) {
109139
},
110140
{
111141
Name: "example_warn",
112-
File: "/shared/rules/rules-1.yaml",
142+
File: "/shared/thanos-rules/rules-1.yaml",
113143
Rules: []*rulespb.Rule{
114144
rulespb.NewAlertingRule(&rulespb.Alert{
115145
Name: "TestAlert_WarnOnPartialResponse",
116146
State: rulespb.AlertState_FIRING,
117147
Query: "absent(some_metric)",
118-
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{
119-
{Name: "prometheus", Value: "ha"},
120-
{Name: "severity", Value: "page"},
121-
}},
122-
}),
123-
rulespb.NewAlertingRule(&rulespb.Alert{
124-
Name: "TestAlert_WarnOnPartialResponse",
125-
Query: "absent(some_metric)",
126148
Labels: labelpb.ZLabelSet{Labels: []labelpb.ZLabel{
127149
{Name: "severity", Value: "page"},
128150
}},

0 commit comments

Comments
 (0)