-
Notifications
You must be signed in to change notification settings - Fork 631
Expand file tree
/
Copy pathconfig.yaml
More file actions
84 lines (82 loc) · 2.69 KB
/
config.yaml
File metadata and controls
84 lines (82 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
{{$totalSchedulerThroughputPods := DefaultParam .CL2_SCHEDULER_THROUGHPUT_PODS 200000}}
{{$defaultQps := DefaultParam .CL2_DEFAULT_QPS 1000}}
{{$defaultBurst := DefaultParam .CL2_DEFAULT_BURST 10000}}
{{$uniformQps := DefaultParam .CL2_UNIFORM_QPS 1000}}
{{$SCHEDULER_THROUGHPUT_THRESHOLD := DefaultParam .CL2_SCHEDULER_THROUGHPUT_THRESHOLD 400}}
name: direct-scheduler-throughput
namespace:
prefix: pvc-sched-test
enableExistingNamespaces: true
deleteAutomanagedNamespaces: false
number: 1
tuningSets:
# default is a tuningset that is meant to be used when we don't have any specific requirements on pace of operations.
- name: default
globalQPSLoad:
qps: {{$defaultQps}}
burst: {{$defaultBurst}}
- name: UniformQPS
qpsLoad:
qps: {{$uniformQps}}
burst: {{$defaultBurst}}
steps:
- name: Creating scheduler throughput measurements
measurements:
- Identifier: DirectSchedulerThroughputPodStartupLatency
Method: PodStartupLatency
Params:
action: start
labelSelector: group = direct-scheduler-throughput
threshold: 5s
- Identifier: DirectSchedulingThroughput
# TODO: Move to SchedulingThroughputPrometheus which requires cl2 prom stack setup as pre-req
Method: SchedulingThroughput
Params:
action: start
labelSelector: group = direct-scheduler-throughput
measurmentInterval: 1s
- name: create scheduler throughput pods
phases:
- namespaceRange:
min: 1
max: 1
replicasPerNamespace: {{$totalSchedulerThroughputPods}}
tuningSet: UniformQPS
objectBundle:
- basename: direct-scheduler-throughput-pod
objectTemplatePath: pod-default.yaml
templateFillMap:
Group: direct-scheduler-throughput
- name: Waiting for scheduler throughput pods to be created
measurements:
- Identifier: WaitForDirectSchedulerThroughputPods
Method: WaitForRunningPods
Params:
action: gather
timeout: 20m
desiredPodCount: {{$totalSchedulerThroughputPods}}
labelSelector: group = direct-scheduler-throughput
- name: Collecting scheduler throughput measurements
measurements:
- Identifier: DirectSchedulerThroughputPodStartupLatency
Method: PodStartupLatency
Params:
action: gather
- Identifier: DirectSchedulingThroughput
Method: SchedulingThroughput
Params:
action: gather
enableViolations: true
threshold: {{$SCHEDULER_THROUGHPUT_THRESHOLD}}
- name: Delete scheduler throughput pods
phases:
- namespaceRange:
min: 1
max: 1
replicasPerNamespace: 0
tuningSet: default
objectBundle:
- basename: direct-scheduler-throughput-pod
objectTemplatePath: pod-default.yaml
templateFillMap:
Group: direct-scheduler-throughput