mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-22 10:06:15 +00:00
Merge pull request #126352 from macsko/create_smaller_integration_scheduler_perf_cases
Make smaller workloads for scheduler_perf integration tests
This commit is contained in:
commit
2063d8dac1
@ -110,6 +110,22 @@ make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_ARGS=-use
|
||||
```
|
||||
|
||||
Integration testing uses the same `config/performance-config.yaml` as
|
||||
benchmarking. By default, workloads labeled as `integration-test` are executed
|
||||
as part of integration testing. `-test-scheduling-label-filter` can be used to
|
||||
change that.
|
||||
benchmarking. By default, workloads labeled as `integration-test`
|
||||
are executed as part of integration testing (in ci-kubernetes-integration-master job).
|
||||
`-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 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.
|
||||
|
||||
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.
|
||||
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 |
|
||||
|
@ -1,8 +1,13 @@
|
||||
# The following labels are used in this file:
|
||||
# - fast: short execution time, ideally less than 30 seconds
|
||||
# - integration-test: used to select workloads that
|
||||
# run in pull-kubernetes-integration. Choosing those tests
|
||||
# run in ci-kubernetes-integration-master. Choosing those tests
|
||||
# is a tradeoff between code coverage and overall runtime.
|
||||
# - short: used to select workloads that
|
||||
# run in pull-kubernetes-integration.
|
||||
# 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.
|
||||
# They can be run using --short=true flag.
|
||||
# - performance: used to select workloads that run
|
||||
# in ci-benchmark-scheduler-perf. Such workloads
|
||||
# must run long enough (ideally, longer than 10 seconds)
|
||||
@ -23,6 +28,12 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
@ -58,6 +69,12 @@
|
||||
collectMetrics: true
|
||||
namespace: sched-1
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 1
|
||||
measurePods: 4
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
@ -88,8 +105,14 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
@ -121,13 +144,20 @@
|
||||
persistentVolumeClaimTemplatePath: config/templates/pvc.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 5000
|
||||
@ -162,13 +192,20 @@
|
||||
persistentVolumeClaimTemplatePath: config/templates/pvc.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 5000
|
||||
@ -201,13 +238,20 @@
|
||||
persistentVolumeClaimTemplatePath: config/templates/pvc.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, fast]
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 5000
|
||||
@ -239,8 +283,14 @@
|
||||
namespace: sched-1
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
@ -274,13 +324,20 @@
|
||||
namespace: sched-1
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 500Nodes
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 5000
|
||||
@ -308,8 +365,14 @@
|
||||
namespace: sched-1
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
@ -348,6 +411,11 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
measurePods: 10
|
||||
- name: 15000Nodes
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
@ -369,8 +437,14 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 5
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 500
|
||||
@ -404,6 +478,12 @@
|
||||
podTemplatePath: config/templates/pod-with-topology-spreading.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 10
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
@ -439,13 +519,20 @@
|
||||
podTemplatePath: config/templates/pod-with-preferred-topology-spreading.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 10
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 1000
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 5000
|
||||
@ -492,13 +579,20 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 500Nodes
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 2
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [integration-test, performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 200
|
||||
measurePods: 1000
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPods: 2000
|
||||
@ -511,7 +605,6 @@
|
||||
measurePods: 5000
|
||||
|
||||
- name: PreemptionBasic
|
||||
labels: [performance]
|
||||
workloadTemplate:
|
||||
- opcode: createNodes
|
||||
countParam: $initNodes
|
||||
@ -523,8 +616,14 @@
|
||||
podTemplatePath: config/templates/pod-high-priority.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 20
|
||||
measurePods: 5
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 2000
|
||||
@ -539,7 +638,6 @@
|
||||
# measurePods: 5000
|
||||
|
||||
- name: PreemptionPVs
|
||||
labels: [performance]
|
||||
workloadTemplate:
|
||||
- opcode: createNodes
|
||||
countParam: $initNodes
|
||||
@ -553,8 +651,14 @@
|
||||
persistentVolumeClaimTemplatePath: config/templates/pvc.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 20
|
||||
measurePods: 5
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 2000
|
||||
@ -581,8 +685,14 @@
|
||||
podTemplatePath: config/templates/pod-default.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes/2InitPods
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
initNodes: 5
|
||||
initPods: 2
|
||||
measurePods: 10
|
||||
- name: 500Nodes/200InitPods
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPods: 200
|
||||
@ -622,6 +732,11 @@
|
||||
podTemplatePath: config/templates//pod-default.yaml
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 10Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 10
|
||||
measurePods: 100
|
||||
- name: 1000Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
@ -662,14 +777,22 @@
|
||||
collectMetrics: true
|
||||
namespace: measure-ns-0
|
||||
workloads:
|
||||
- name: 10Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 10
|
||||
initPodsPerNamespace: 2
|
||||
initNamespaces: 2
|
||||
measurePods: 6
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPodsPerNamespace: 4
|
||||
initNamespaces: 10
|
||||
measurePods: 100
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPodsPerNamespace: 40
|
||||
@ -707,14 +830,22 @@
|
||||
collectMetrics: true
|
||||
namespace: measure-ns-0
|
||||
workloads:
|
||||
- name: 10Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 10
|
||||
initPodsPerNamespace: 2
|
||||
initNamespaces: 2
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPodsPerNamespace: 4
|
||||
initNamespaces: 10
|
||||
measurePods: 100
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPodsPerNamespace: 40
|
||||
@ -755,14 +886,22 @@
|
||||
collectMetrics: true
|
||||
namespace: measure-ns-0
|
||||
workloads:
|
||||
- name: 10Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 10
|
||||
initPodsPerNamespace: 2
|
||||
initNamespaces: 2
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPodsPerNamespace: 4
|
||||
initNamespaces: 10
|
||||
measurePods: 100
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPodsPerNamespace: 50
|
||||
@ -800,14 +939,22 @@
|
||||
collectMetrics: true
|
||||
namespace: measure-ns-0
|
||||
workloads:
|
||||
- name: 10Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
initNodes: 10
|
||||
initPodsPerNamespace: 2
|
||||
initNamespaces: 2
|
||||
measurePods: 10
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
initNodes: 500
|
||||
initPodsPerNamespace: 4
|
||||
initNamespaces: 10
|
||||
measurePods: 100
|
||||
- name: 5000Nodes
|
||||
labels: [performance]
|
||||
params:
|
||||
initNodes: 5000
|
||||
initPodsPerNamespace: 50
|
||||
@ -835,8 +982,14 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 5Nodes
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
taintNodes: 1
|
||||
normalNodes: 4
|
||||
measurePods: 4
|
||||
- name: 500Nodes
|
||||
labels: [fast]
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
taintNodes: 100
|
||||
normalNodes: 400
|
||||
@ -1028,7 +1181,7 @@
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: fast
|
||||
labels: [integration-test, fast]
|
||||
labels: [integration-test, fast, short]
|
||||
params:
|
||||
# This testcase runs through all code paths without
|
||||
# taking too long overall.
|
||||
@ -1165,7 +1318,13 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 1Node
|
||||
- name: 1Node_10GatedPods
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
gatedPods: 10
|
||||
deletingPods: 100
|
||||
measurePods: 100
|
||||
- name: 1Node_10000GatedPods
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
gatedPods: 10000
|
||||
@ -1192,7 +1351,12 @@
|
||||
countParam: $measurePods
|
||||
collectMetrics: true
|
||||
workloads:
|
||||
- name: 1000Node
|
||||
- name: 1Node_10GatedPods
|
||||
labels: [integration-test, fast]
|
||||
params:
|
||||
gatedPods: 10
|
||||
measurePods: 10
|
||||
- name: 1Node_10000GatedPods
|
||||
labels: [performance, fast]
|
||||
params:
|
||||
gatedPods: 10000
|
||||
|
@ -29,6 +29,10 @@ func TestScheduling(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if testing.Short() {
|
||||
*testSchedulingLabelFilter += ",+short"
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.Name, func(t *testing.T) {
|
||||
for _, w := range tc.Workloads {
|
||||
|
Loading…
Reference in New Issue
Block a user