Skip to content

Commit f84944f

Browse files
committed
Remove integ test
Signed-off-by: Daniel Deluiggi <ddeluigg@amazon.com>
1 parent f30dc87 commit f84944f

File tree

2 files changed

+0
-123
lines changed

2 files changed

+0
-123
lines changed

integration/configs.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,6 @@ receivers:
6363
labels: {}
6464
annotations: {}
6565
`
66-
67-
cortexRulerEvalStaleNanConfigYaml = `groups:
68-
- name: rule
69-
interval: 1s
70-
rules:
71-
- record: stale_nan_eval
72-
expr: a_sometimes_stale_nan_series * 2
73-
`
7466
)
7567

7668
var (

integration/ruler_test.go

Lines changed: 0 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"crypto/x509/pkix"
1111
"encoding/json"
1212
"fmt"
13-
"math"
1413
"math/rand"
1514
"net/http"
1615
"os"
@@ -24,7 +23,6 @@ import (
2423
"github.com/prometheus/common/model"
2524
"github.com/prometheus/prometheus/model/labels"
2625
"github.com/prometheus/prometheus/model/rulefmt"
27-
"github.com/prometheus/prometheus/model/value"
2826
"github.com/prometheus/prometheus/prompb"
2927
"github.com/stretchr/testify/assert"
3028
"github.com/stretchr/testify/require"
@@ -200,119 +198,6 @@ func TestRulerAPISingleBinary(t *testing.T) {
200198
require.NoError(t, cortexRestarted.WaitSumMetrics(e2e.Equals(1), "cortex_ruler_managers_total"))
201199
}
202200

203-
func TestRulerEvaluationDelay(t *testing.T) {
204-
s, err := e2e.NewScenario(networkName)
205-
require.NoError(t, err)
206-
defer s.Close()
207-
208-
namespace := "ns"
209-
user := "fake"
210-
211-
evaluationDelay := time.Minute * 5
212-
213-
configOverrides := map[string]string{
214-
"-ruler-storage.local.directory": filepath.Join(e2e.ContainerSharedDir, "ruler_configs"),
215-
"-ruler.poll-interval": "2s",
216-
"-ruler.rule-path": filepath.Join(e2e.ContainerSharedDir, "rule_tmp/"),
217-
"-ruler.evaluation-delay-duration": evaluationDelay.String(),
218-
}
219-
220-
// Start Cortex components.
221-
require.NoError(t, copyFileToSharedDir(s, "docs/configuration/single-process-config-blocks-local.yaml", cortexConfigFile))
222-
require.NoError(t, writeFileToSharedDir(s, filepath.Join("ruler_configs", user, namespace), []byte(cortexRulerEvalStaleNanConfigYaml)))
223-
cortex := e2ecortex.NewSingleBinaryWithConfigFile("cortex", cortexConfigFile, configOverrides, "", 9009, 9095)
224-
require.NoError(t, s.StartAndWaitReady(cortex))
225-
226-
// Create a client with the ruler address configured
227-
c, err := e2ecortex.NewClient(cortex.HTTPEndpoint(), cortex.HTTPEndpoint(), "", cortex.HTTPEndpoint(), "")
228-
require.NoError(t, err)
229-
230-
now := time.Now()
231-
232-
// Generate series that includes stale nans
233-
samplesToSend := 10
234-
series := prompb.TimeSeries{
235-
Labels: []prompb.Label{
236-
{Name: "__name__", Value: "a_sometimes_stale_nan_series"},
237-
{Name: "instance", Value: "sometimes-stale"},
238-
},
239-
}
240-
series.Samples = make([]prompb.Sample, samplesToSend)
241-
posStale := 2
242-
243-
// Create samples, that are delayed by the evaluation delay with increasing values.
244-
for pos := range series.Samples {
245-
series.Samples[pos].Timestamp = e2e.TimeToMilliseconds(now.Add(-evaluationDelay).Add(time.Duration(pos) * time.Second))
246-
series.Samples[pos].Value = float64(pos + 1)
247-
248-
// insert staleness marker at the positions marked by posStale
249-
if pos == posStale {
250-
series.Samples[pos].Value = math.Float64frombits(value.StaleNaN)
251-
}
252-
}
253-
254-
// Insert metrics
255-
res, err := c.Push([]prompb.TimeSeries{series})
256-
require.NoError(t, err)
257-
require.Equal(t, 200, res.StatusCode)
258-
259-
// Get number of rule evaluations just after push
260-
ruleEvaluationsAfterPush, err := cortex.SumMetrics([]string{"cortex_prometheus_rule_evaluations_total"})
261-
require.NoError(t, err)
262-
263-
// Wait until the rule is evaluated for the first time
264-
require.NoError(t, cortex.WaitSumMetrics(e2e.Greater(ruleEvaluationsAfterPush[0]), "cortex_prometheus_rule_evaluations_total"))
265-
266-
// Query the timestamp of the latest result to ensure the evaluation is delayed
267-
result, err := c.Query("timestamp(stale_nan_eval)", now)
268-
require.NoError(t, err)
269-
require.Equal(t, model.ValVector, result.Type())
270-
271-
vector := result.(model.Vector)
272-
require.Equal(t, 1, vector.Len(), "expect one sample returned")
273-
274-
// 290 seconds gives 10 seconds of slack between the rule evaluation and the query
275-
// to account for CI latency, but ensures the latest evaluation was in the past.
276-
var maxDiff int64 = 290_000
277-
require.GreaterOrEqual(t, e2e.TimeToMilliseconds(time.Now())-int64(vector[0].Value)*1000, maxDiff)
278-
279-
// Wait until all the pushed samples have been evaluated by the rule. This
280-
// ensures that rule results are successfully written even after a
281-
// staleness period.
282-
require.NoError(t, cortex.WaitSumMetrics(e2e.GreaterOrEqual(ruleEvaluationsAfterPush[0]+float64(samplesToSend)), "cortex_prometheus_rule_evaluations_total"))
283-
284-
// query all results to verify rules have been evaluated correctly
285-
result, err = c.QueryRange("stale_nan_eval", now.Add(-evaluationDelay), now, time.Second)
286-
require.NoError(t, err)
287-
require.Equal(t, model.ValMatrix, result.Type())
288-
289-
matrix := result.(model.Matrix)
290-
require.GreaterOrEqual(t, 1, matrix.Len(), "expect at least a series returned")
291-
292-
// Iterate through the values recorded and ensure they exist as expected.
293-
inputPos := 0
294-
for _, m := range matrix {
295-
for _, v := range m.Values {
296-
// Skip values for stale positions
297-
if inputPos == posStale {
298-
inputPos++
299-
}
300-
301-
expectedValue := model.SampleValue(2 * (inputPos + 1))
302-
require.Equal(t, expectedValue, v.Value)
303-
304-
// Look for next value
305-
inputPos++
306-
307-
// We have found all input values
308-
if inputPos >= len(series.Samples) {
309-
break
310-
}
311-
}
312-
}
313-
require.Equal(t, len(series.Samples), inputPos, "expect to have returned all evaluations")
314-
}
315-
316201
func TestRulerSharding(t *testing.T) {
317202
const numRulesGroups = 100
318203

0 commit comments

Comments
 (0)