Label short workloads in scheduler_perf tests

This commit is contained in:
Maciej Skoczeń 2024-07-26 08:53:26 +00:00
parent 09fc399837
commit 77372cf3cf
3 changed files with 24 additions and 16 deletions

View File

@ -111,11 +111,21 @@ make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_ARGS=-use
Integration testing uses the same `config/performance-config.yaml` as Integration testing uses the same `config/performance-config.yaml` as
benchmarking. By default, workloads labeled as `integration-test` benchmarking. By default, workloads labeled as `integration-test`
are executed as part of integration testing. `-test-scheduling-label-filter` can be used to are executed as part of integration testing (in ci-kubernetes-integration-master job).
change that. `-test-scheduling-label-filter` can be used to change that.
All test cases should have at least one workload labeled as `integration-test`.
Running the integration tests as above will only execute the workloads labeled as `short`. Running the integration tests with command above will only execute the workloads labeled as `short`.
`SHORT=--short=false` variable added to the command can be used to disable this filtering. `SHORT=--short=false` variable added to the command can be used to disable this filtering.
We should make each test case with `short` label very small, We should make each test case with `short` label very small,
so that all tests with the label should take less than 5 min to complete. so that all tests with the label should take less than 5 min to complete.
The test cases labeled as `short` are executed in pull-kubernetes-integration job.
### Labels used by CI jobs
| CI Job | Labels |
|----------------------------------|------------------------|
| ci-kubernetes-integration-master | integration-test |
| pull-kubernetes-integration | integration-test,short |
| ci-benchmark-scheduler-perf | performance |

View File

@ -29,7 +29,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 5 initPods: 5
@ -70,7 +70,7 @@
namespace: sched-1 namespace: sched-1
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 1 initPods: 1
@ -106,7 +106,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 5 initPods: 5
@ -239,7 +239,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 5 initPods: 5
@ -438,7 +438,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 5 initPods: 5
@ -479,7 +479,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 10 initPods: 10
@ -617,7 +617,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes - name: 5Nodes
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 20 initPods: 20
@ -686,7 +686,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes/2InitPods - name: 5Nodes/2InitPods
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 2 initPods: 2
@ -1181,7 +1181,7 @@
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: fast - name: fast
labels: [integration-test, fast] labels: [integration-test, fast, short]
params: params:
# This testcase runs through all code paths without # This testcase runs through all code paths without
# taking too long overall. # taking too long overall.

View File

@ -18,8 +18,6 @@ package benchmark
import ( import (
"testing" "testing"
"k8s.io/utils/ptr"
) )
func TestScheduling(t *testing.T) { func TestScheduling(t *testing.T) {
@ -32,7 +30,7 @@ func TestScheduling(t *testing.T) {
} }
if testing.Short() { if testing.Short() {
testSchedulingLabelFilter = ptr.To(*testSchedulingLabelFilter + ",+short") *testSchedulingLabelFilter += ",+short"
} }
for _, tc := range testCases { for _, tc := range testCases {