9
9
"time"
10
10
11
11
"github.com/prometheus/common/model"
12
+ "github.com/prometheus/prometheus/model/labels"
12
13
"github.com/stretchr/testify/assert"
13
14
"github.com/stretchr/testify/require"
14
15
@@ -210,6 +211,14 @@ func checkQueries(
210
211
211
212
for name , c := range cases {
212
213
t .Run (name , func (t * testing.T ) {
214
+ // Start store gateway.
215
+ storeGateway := e2ecortex .NewStoreGateway ("store-gateway" , e2ecortex .RingStoreConsul , consul .NetworkHTTPEndpoint (), c .storeGatewayFlags , c .storeGatewayImage )
216
+
217
+ require .NoError (t , s .Start (storeGateway ))
218
+ defer func () {
219
+ require .NoError (t , s .Stop (storeGateway ))
220
+ }()
221
+
213
222
// Start query-frontend.
214
223
queryFrontend := e2ecortex .NewQueryFrontend ("query-frontend" , c .queryFrontendFlags , c .queryFrontendImage )
215
224
require .NoError (t , s .Start (queryFrontend ))
@@ -227,18 +236,22 @@ func checkQueries(
227
236
require .NoError (t , s .Stop (querier ))
228
237
}()
229
238
230
- // Start store gateway.
231
- storeGateway := e2ecortex .NewStoreGateway ("store-gateway" , e2ecortex .RingStoreConsul , consul .NetworkHTTPEndpoint (), c .storeGatewayFlags , c .storeGatewayImage )
232
-
233
- require .NoError (t , s .Start (storeGateway ))
234
- defer func () {
235
- require .NoError (t , s .Stop (storeGateway ))
236
- }()
237
-
238
239
// Wait until querier and query-frontend are ready, and the querier has updated the ring.
239
240
require .NoError (t , s .WaitReady (querier , queryFrontend , storeGateway ))
240
241
expectedTokens := float64 ((numIngesters + 1 ) * 512 ) // Ingesters and Store Gateway.
241
242
require .NoError (t , querier .WaitSumMetrics (e2e .Equals (expectedTokens ), "cortex_ring_tokens_total" ))
243
+ require .NoError (t , storeGateway .WaitSumMetrics (e2e .Greater (0 ), "cortex_storegateway_bucket_sync_total" ))
244
+
245
+ // Wait store-gateways and ingesters appears on querier ring
246
+ require .NoError (t , querier .WaitSumMetricsWithOptions (e2e .Equals (1 ), []string {"cortex_ring_members" }, e2e .WithLabelMatchers (
247
+ labels .MustNewMatcher (labels .MatchEqual , "name" , "store-gateway-client" ),
248
+ labels .MustNewMatcher (labels .MatchEqual , "state" , "ACTIVE" ),
249
+ )))
250
+
251
+ require .NoError (t , querier .WaitSumMetricsWithOptions (e2e .Greater (0 ), []string {"cortex_ring_members" }, e2e .WithLabelMatchers (
252
+ labels .MustNewMatcher (labels .MatchEqual , "name" , "ingester" ),
253
+ labels .MustNewMatcher (labels .MatchEqual , "state" , "ACTIVE" ),
254
+ )))
242
255
243
256
// Query the series.
244
257
for _ , endpoint := range []string {queryFrontend .HTTPEndpoint (), querier .HTTPEndpoint ()} {
0 commit comments