Skip to content

Commit 44b5eca

Browse files
RobertKrawitzdry923
authored andcommitted
Add runtime-class option to remainder of benchmarks
closes cloud-bulldozer#501
1 parent 249f2ec commit 44b5eca

File tree

36 files changed

+125
-18
lines changed

36 files changed

+125
-18
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ a performance baseline of Kubernetes cluster on your provider.
88
| Workload | Use | Status in Operator | Reconciliation usage | VM support (kubevirt) | Kata Containers |
99
| ------------------------------ | ---------------------- | ------------------ | -------------------------- | --------------------- | --------------- |
1010
| [UPerf](docs/uperf.md) | Network Performance | Working | Used, default : 3second | Working | Working |
11-
| [Iperf3](docs/iperf.md) | Network Performance | Working | Used, default : 3second | Not Supported | Not Supported |
11+
| [Iperf3](docs/iperf.md) | Network Performance | Working | Used, default : 3second | Not Supported | Preview |
1212
| [fio](docs/fio_distributed.md) | Storage IO | Working | Used, default : 3second | Working | Working |
13-
| [Sysbench](docs/sysbench.md) | System Performance | Working | Used, default : 3second | Not Supported | Not Supported |
14-
| [YCSB](docs/ycsb.md) | Database Performance | Working | Used, default : 3second | Not Supported | Not Supported |
15-
| [Byowl](docs/byowl.md) | User defined workload | Working | Used, default : 3second | Not Supported | Not Supported |
16-
| [Pgbench](docs/pgbench.md) | Postgres Performance | Working | Used, default : 3second | Not Supported | Not Supported |
17-
| [Smallfile](docs/smallfile.md) | Storage IO Performance | Working | Used, default : 3second | Not Supported | Not Supported |
18-
| [fs-drift](docs/fs-drift.md) | Storage IO Longevity | Working | Not used | Not Supported | Not Supported |
19-
| [hammerdb](docs/hammerdb.md) | Database Performance | Working | Used, default : 3second | Not Supported | Not Supported |
20-
| [Service Mesh](docs/servicemesh.md) | Microservices | Working | Used, default : 3second | Not Supported | Not Supported |
21-
| [Vegeta](docs/vegeta.md) | HTTP Performance | Working | Used, default : 3second | Not Supported | Not Supported |
22-
| [Scale Openshift](docs/scale_openshift.md) | Scale Openshift Cluster | Working | Used, default : 3second | Not Supported | Not Supported |
23-
| [stressng](docs/stressng.md) | Stress system resources | Working | Used, default: 3second | Not Supported | Not Supported |
24-
| [kube-burner](docs/kube-burner.md) | k8s Performance | Working | Used, default : 3second | Not Supported | Not Supported |
25-
| [cyclictest](docs/cyclictest.md) | Real-Time Performance | Working | Used, default : 3second | Not Supported | Not Supported |
26-
| [oslat](docs/oslat.md) | Real-Time Latency | Working | Used, default : 3second | Not Supported | Not Supported |
13+
| [Sysbench](docs/sysbench.md) | System Performance | Working | Used, default : 3second | Not Supported | Preview |
14+
| [YCSB](docs/ycsb.md) | Database Performance | Working | Used, default : 3second | Not Supported | Preview |
15+
| [Byowl](docs/byowl.md) | User defined workload | Working | Used, default : 3second | Not Supported | Preview |
16+
| [Pgbench](docs/pgbench.md) | Postgres Performance | Working | Used, default : 3second | Not Supported | Preview |
17+
| [Smallfile](docs/smallfile.md) | Storage IO Performance | Working | Used, default : 3second | Not Supported | Preview |
18+
| [fs-drift](docs/fs-drift.md) | Storage IO Longevity | Working | Not used | Not Supported | Preview |
19+
| [hammerdb](docs/hammerdb.md) | Database Performance | Working | Used, default : 3second | Not Supported | Preview |
20+
| [Service Mesh](docs/servicemesh.md) | Microservices | Working | Used, default : 3second | Not Supported | Preview |
21+
| [Vegeta](docs/vegeta.md) | HTTP Performance | Working | Used, default : 3second | Not Supported | Preview |
22+
| [Scale Openshift](docs/scale_openshift.md) | Scale Openshift Cluster | Working | Used, default : 3second | Not Supported | Preview |
23+
| [stressng](docs/stressng.md) | Stress system resources | Working | Used, default: 3second | Not Supported | Preview |
24+
| [kube-burner](docs/kube-burner.md) | k8s Performance | Working | Used, default : 3second | Not Supported | Preview |
25+
| [cyclictest](docs/cyclictest.md) | Real-Time Performance | Working | Used, default : 3second | Not Supported | Preview |
26+
| [oslat](docs/oslat.md) | Real-Time Latency | Working | Used, default : 3second | Not Supported | Preview |
2727

2828

2929

docs/byowl.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ spec:
2323
```
2424
2525
26-
### NodeSelector and Taint/Tolerations
26+
### NodeSelector, Taint/Tolerations, and RuntimeClass
2727
28-
You can add a node selector and/or taints/tolerations to the resulting Kubernetes resources like so:
28+
You can add a node selector, taints/tolerations, and/or runtimeclass to the resulting Kubernetes resources like so:
2929
3030
```yaml
3131
spec:
@@ -38,6 +38,7 @@ spec:
3838
- key: "taint-to-tolerate"
3939
operator: "Exists"
4040
effect: "NoSchedule"
41+
runtimeclassname: "MyRuntimeClass"
4142

4243
```
4344

docs/fs-drift.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ The following fs-drift parameters will be overridden when fs-drift is used in ri
4949
The default value of **threads** parameter is 1, because we depend on creation of a large set of pods to distribute the
5050
workload across not only other cores, but also other hosts. However, this can be increased if desired.
5151
52+
The option **runtime_class** can be set to specify an optional
53+
runtime_class to the podSpec runtimeClassName. This is primarily
54+
intended for Kata containers.
55+
5256
Once done creating/editing the CR file below, one can run it by:
5357
5458
```bash

docs/hammerdb.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ The tpcc benchmark which we use can set up an arbitrary number of warehouses bet
4747

4848
With `runtime`, `rampup` and `samples` the time for a single run, the rampup time per run and the number of runs can be controlled.
4949

50+
The option **runtime_class** can be set to specify an optional
51+
runtime_class to the podSpec runtimeClassName. This is primarily
52+
intended for Kata containers.
53+
5054
Once done creating/editing the resource file, you can run it by:
5155

5256
```bash

docs/iperf.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ spec:
3535
extra_options_server: ' '
3636
#retries: 200
3737
```
38-
Optional argument:
38+
Optional arguments:
3939
`retries` is an optional argument that can be used if you are running long tests
4040
and don't want the logic to exit early, this is due to iperf logic using ansible's
4141
retries to wait for iperf client job to be finish running. Note that the delay is
@@ -46,6 +46,10 @@ an integer value.
4646
So for example: if you estimate a job to not take more than 900s,
4747
then you'd probably give a `retries` of 60, as 60*15 is 900s.
4848

49+
`runtime_class` can be set to specify an optional
50+
runtime_class to the podSpec runtimeClassName. This is primarily
51+
intended for Kata containers.
52+
4953
The rest of the args are compulsory arguments that need to be passed and can cause
5054
issues if missed, they are:
5155

docs/kube-burner.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Where key defaults to __node-role.kubernetes.io/worker__ and value defaults to e
8888
- **pin_server** and **tolerations**: Detailed in the section [Pin to server and tolerations](#Pin-to-server-and-tolerations)
8989
- **step**: Prometheus step size, useful for long benchmarks. Defaults to 30s
9090
- **metrics_profile**: kube-burner metric profile that indicates what prometheus metrics kube-burner will collect. Defaults to `metrics.yaml` in kubelet-density workloads and `metrics-aggregated.yaml` in the remaining. Detailed in the [Metrics section](#Metrics) of this document
91+
- **runtime_class** : If this is set, the benchmark-operator will apply the runtime_class to the podSpec runtimeClassName.
9192

9293
kube-burner is able to collect complex prometheus metrics and index them in a ElasticSearch instance. This feature can be configured by the prometheus object of kube-burner's CR.
9394

docs/oslat.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ Given that you followed instructions to deploy operator, you can modify [cr.yaml
99
It is recommended to define pod requests and limits when running oslat test, to give guaranteed CPUs to the pods. It is also expected to have the
1010
realtime kernel installed with required isolation for pods using the [Performance Add-On Operator](https://github.com/openshift-kni/performance-addon-operators).
1111

12+
The option **runtime_class** can be set to specify an optional
13+
runtime_class to the podSpec runtimeClassName. This is primarily
14+
intended for Kata containers.
15+
1216
An example CR might look like this
1317

1418
```yaml

docs/pgbench.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ The `log2` value will increment through a set of values on a log2 scale up to th
7474

7575
Note that the `add2` and `log2` values may not end up testing 100% of the databases listed, since `add2` will always end on an even number and `log2` will always end on the highest integer on the log2 curve up to the total number of databases (i.e., if you provide 100 databases in the list, the last `log2` test will be against 64 databases since the next log2 value would be 128)
7676

77+
The `runtime_class` option can be set to specify an optional
78+
runtime_class to the podSpec runtimeClassName. This is primarily
79+
intended for Kata containers.
80+
7781
Once done creating/editing the resource file, you can run it by:
7882

7983
```bash

docs/scale_openshift.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ Optional variables:
2626
`tolerations` a dictionary consisting of a 'key', 'value' and 'effect'. If provided it will add a toleration
2727
for the matching key/value/effect
2828

29+
`runtime_class` If this is set, the benchmark-operator will apply the runtime_class to the podSpec runtimeClassName.
30+
2931
Your resource file may look like this when using all avaible options:
3032

3133
```yaml

docs/servicemesh.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ oc apply -f resources/self_provisioner_binding.yaml
1414

1515
Service Mesh and Hyperfoil operators must be [already installed](https://docs.openshift.com/container-platform/4.4/operators/olm-adding-operators-to-cluster.html) to the cluster before the benchmark starts.
1616

17+
## Optional setting
18+
19+
The option **runtime_class** can be set to specify an optional
20+
runtime_class to the podSpec runtimeClassName. This is primarily
21+
intended for Kata containers.
22+
1723
## Running the benchmark
1824

1925
Here is an example of the [benchmark CR](../resources/crds/ripsaw_v1alpha1_servicemesh_cr.yaml):

0 commit comments

Comments
 (0)