tests/e2e: add test to detect many-to-many errors
It happened quite a few times that some queries failed when Prometheus scrapes metrics from 2 kube-state-metrics instances. This situation can happen briefly when the kube-state-metrics instance is rolled out. It might also be more apparent when automatic sharding of kube-state-metrics is enabled. https://github.com/kubernetes-monitoring/kubernetes-mixin/pull/306 https://github.com/kubernetes-monitoring/kubernetes-mixin/pull/361 Signed-off-by: Simon Pasquier <spasquie@redhat.com>
This commit is contained in:
@@ -16,6 +16,7 @@ package e2e
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
@@ -50,7 +51,7 @@ func (c *prometheusClient) apiRequest(endpoint string, selector string, query st
|
||||
Suffix(endpoint).Param(selector, query)
|
||||
|
||||
var data Response
|
||||
b, err := req.DoRaw()
|
||||
b, err := req.DoRaw(context.Background())
|
||||
if err != nil {
|
||||
return data, err
|
||||
}
|
||||
@@ -78,7 +79,7 @@ func (c *prometheusClient) query(query string) (int, error) {
|
||||
Name("prometheus-k8s-0:9090").
|
||||
Suffix("/api/v1/query").Param("query", query)
|
||||
|
||||
b, err := req.DoRaw()
|
||||
b, err := req.DoRaw(context.Background())
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user