Skip to content

Commit 90b3168

Browse files
authored
Merge pull request kubernetes#95040 from MHBauer/unflake-perf-tests
move node performance tests to separate job
2 parents 8456a51 + 9eb0d76 commit 90b3168

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

test/e2e_node/node_perf_test.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@ import (
2121
"time"
2222

2323
v1 "k8s.io/api/core/v1"
24+
"k8s.io/apimachinery/pkg/api/resource"
2425
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2526
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
2627
"k8s.io/kubernetes/test/e2e/framework"
2728
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
2829
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
30+
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
2931
"k8s.io/kubernetes/test/e2e_node/perf/workloads"
3032

3133
"github.com/onsi/ginkgo"
@@ -57,7 +59,7 @@ func setKubeletConfig(f *framework.Framework, cfg *kubeletconfig.KubeletConfigur
5759

5860
// Serial because the test updates kubelet configuration.
5961
// Slow by design.
60-
var _ = SIGDescribe("Node Performance Testing [Serial] [Slow] [Flaky]", func() {
62+
var _ = SIGDescribe("Node Performance Testing [Serial] [Slow]", func() {
6163
f := framework.NewDefaultFramework("node-performance-testing")
6264
var (
6365
wl workloads.NodePerfWorkload
@@ -111,6 +113,21 @@ var _ = SIGDescribe("Node Performance Testing [Serial] [Slow] [Flaky]", func() {
111113
framework.Logf("Time to complete workload %s: %v", wl.Name(), perf)
112114
}
113115

116+
ginkgo.BeforeEach(func() {
117+
ginkgo.By("ensure environment has enough CPU + Memory to run")
118+
minimumRequiredCPU := resource.MustParse("15")
119+
minimumRequiredMemory := resource.MustParse("48Gi")
120+
localNodeCap := getLocalNode(f).Status.Allocatable
121+
cpuCap := localNodeCap[v1.ResourceCPU]
122+
memCap := localNodeCap[v1.ResourceMemory]
123+
if cpuCap.Cmp(minimumRequiredCPU) == -1 {
124+
e2eskipper.Skipf("Skipping Node Performance Tests due to lack of CPU. Required %v is less than capacity %v.", minimumRequiredCPU, cpuCap)
125+
}
126+
if memCap.Cmp(minimumRequiredMemory) == -1 {
127+
e2eskipper.Skipf("Skipping Node Performance Tests due to lack of memory. Required %v is less than capacity %v.", minimumRequiredMemory, memCap)
128+
}
129+
})
130+
114131
ginkgo.Context("Run node performance testing with pre-defined workloads", func() {
115132
ginkgo.BeforeEach(func() {
116133
wl = workloads.NodePerfWorkloads[0]

0 commit comments

Comments
 (0)