mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Merge pull request #128292 from bart0sh/PR162-dont-check-container-metrics-if-PodAndContainerStatsFromCRI-enabled
e2e_node: check container metrics conditionally
This commit is contained in:
commit
753b6fe40b
@ -22,10 +22,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/kubernetes/pkg/features"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"
|
e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"
|
||||||
e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics"
|
e2emetrics "k8s.io/kubernetes/test/e2e/framework/metrics"
|
||||||
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
|
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||||
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
e2evolume "k8s.io/kubernetes/test/e2e/framework/volume"
|
||||||
"k8s.io/kubernetes/test/e2e/nodefeature"
|
"k8s.io/kubernetes/test/e2e/nodefeature"
|
||||||
admissionapi "k8s.io/pod-security-admission/api"
|
admissionapi "k8s.io/pod-security-admission/api"
|
||||||
@ -74,6 +76,17 @@ var _ = SIGDescribe("ResourceMetricsAPI", nodefeature.ResourceMetrics, func() {
|
|||||||
memoryCapacity := node.Status.Capacity["memory"]
|
memoryCapacity := node.Status.Capacity["memory"]
|
||||||
memoryLimit := memoryCapacity.Value()
|
memoryLimit := memoryCapacity.Value()
|
||||||
|
|
||||||
|
keys := []string{
|
||||||
|
"resource_scrape_error", "node_cpu_usage_seconds_total", "node_memory_working_set_bytes",
|
||||||
|
"pod_cpu_usage_seconds_total", "pod_memory_working_set_bytes",
|
||||||
|
}
|
||||||
|
|
||||||
|
// NOTE: This check should be removed when ListMetricDescriptors is implemented
|
||||||
|
// by CRI-O and Containerd
|
||||||
|
if !e2eskipper.IsFeatureGateEnabled(features.PodAndContainerStatsFromCRI) {
|
||||||
|
keys = append(keys, "container_cpu_usage_seconds_total", "container_memory_working_set_bytes", "container_start_time_seconds")
|
||||||
|
}
|
||||||
|
|
||||||
matchResourceMetrics := gomega.And(gstruct.MatchKeys(gstruct.IgnoreMissing, gstruct.Keys{
|
matchResourceMetrics := gomega.And(gstruct.MatchKeys(gstruct.IgnoreMissing, gstruct.Keys{
|
||||||
"resource_scrape_error": gstruct.Ignore(),
|
"resource_scrape_error": gstruct.Ignore(),
|
||||||
"node_cpu_usage_seconds_total": gstruct.MatchAllElements(nodeID, gstruct.Elements{
|
"node_cpu_usage_seconds_total": gstruct.MatchAllElements(nodeID, gstruct.Elements{
|
||||||
@ -113,8 +126,7 @@ var _ = SIGDescribe("ResourceMetricsAPI", nodefeature.ResourceMetrics, func() {
|
|||||||
fmt.Sprintf("%s::%s", f.Namespace.Name, pod1): boundedSample(0*e2evolume.Kb, 80*e2evolume.Mb),
|
fmt.Sprintf("%s::%s", f.Namespace.Name, pod1): boundedSample(0*e2evolume.Kb, 80*e2evolume.Mb),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
haveKeys("resource_scrape_error", "node_cpu_usage_seconds_total", "node_memory_working_set_bytes", "container_cpu_usage_seconds_total",
|
haveKeys(keys...),
|
||||||
"container_memory_working_set_bytes", "container_start_time_seconds", "pod_cpu_usage_seconds_total", "pod_memory_working_set_bytes"),
|
|
||||||
)
|
)
|
||||||
ginkgo.By("Giving pods a minute to start up and produce metrics")
|
ginkgo.By("Giving pods a minute to start up and produce metrics")
|
||||||
gomega.Eventually(ctx, getResourceMetrics, 1*time.Minute, 15*time.Second).Should(matchResourceMetrics)
|
gomega.Eventually(ctx, getResourceMetrics, 1*time.Minute, 15*time.Second).Should(matchResourceMetrics)
|
||||||
|
Loading…
Reference in New Issue
Block a user