Make smaller workloads for scheduler_perf integration tests

This commit is contained in:
Maciej Skoczeń 2024-07-25 09:38:35 +00:00
parent b8dcc2c983
commit a2cd8aa539
2 changed files with 186 additions and 22 deletions

View File

@ -113,3 +113,6 @@ 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.
We should make each test case with `integration-test` label very small,
so that all tests with the label should take less than 5 min to complete.

View File

@ -3,6 +3,8 @@
# - integration-test: used to select workloads that
# run in pull-kubernetes-integration. Choosing those tests
# is a tradeoff between code coverage and overall runtime.
# We should make each test case with integration-test label very small,
# so that all tests with the label should take less than 5 min to complete.
# - 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 +25,12 @@
countParam: $measurePods
collectMetrics: true
workloads:
- name: 5Nodes
labels: [integration-test, fast]
params:
initNodes: 5
initPods: 5
measurePods: 10
- name: 500Nodes
labels: [integration-test, fast]
params:
@ -58,6 +66,12 @@
collectMetrics: true
namespace: sched-1
workloads:
- name: 5Nodes
labels: [integration-test, fast]
params:
initNodes: 5
initPods: 1
measurePods: 4
- name: 500Nodes
labels: [integration-test, fast]
params:
@ -88,8 +102,14 @@
countParam: $measurePods
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
@ -121,13 +141,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 +189,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 +235,20 @@
persistentVolumeClaimTemplatePath: config/templates/pvc.yaml
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
@ -239,8 +280,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 +321,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 +362,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 +408,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 +434,14 @@
countParam: $measurePods
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
@ -404,6 +475,12 @@
podTemplatePath: config/templates/pod-with-topology-spreading.yaml
collectMetrics: true
workloads:
- name: 5Nodes
labels: [integration-test, fast]
params:
initNodes: 5
initPods: 10
measurePods: 10
- name: 500Nodes
labels: [integration-test, fast]
params:
@ -439,13 +516,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 +576,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 +602,6 @@
measurePods: 5000
- name: PreemptionBasic
labels: [performance]
workloadTemplate:
- opcode: createNodes
countParam: $initNodes
@ -523,8 +613,14 @@
podTemplatePath: config/templates/pod-high-priority.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
@ -539,7 +635,6 @@
# measurePods: 5000
- name: PreemptionPVs
labels: [performance]
workloadTemplate:
- opcode: createNodes
countParam: $initNodes
@ -553,8 +648,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 +682,14 @@
podTemplatePath: config/templates/pod-default.yaml
collectMetrics: true
workloads:
- name: 5Nodes/2InitPods
labels: [integration-test, fast]
params:
initNodes: 5
initPods: 2
measurePods: 10
- name: 500Nodes/200InitPods
labels: [fast]
labels: [integration-test, fast]
params:
initNodes: 500
initPods: 200
@ -622,6 +729,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 +774,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 +827,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 +883,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 +936,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 +979,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
@ -1165,7 +1315,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 +1348,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