diff --git a/helm/benchmark-definitions b/helm/benchmark-definitions new file mode 120000 index 0000000000000000000000000000000000000000..e25d86a1f35f9815225c23d78b8524f9df81f9b5 --- /dev/null +++ b/helm/benchmark-definitions @@ -0,0 +1 @@ +../theodolite-benchmarks/definitions/ \ No newline at end of file diff --git a/helm/templates/theodolite/benchmark-resources-config-map.yaml b/helm/templates/theodolite/benchmark-resources-config-map.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4ec1c1bd9c3b9c05cb77920c20b9b573d413c94a --- /dev/null +++ b/helm/templates/theodolite/benchmark-resources-config-map.yaml @@ -0,0 +1,19 @@ +{{- $processedDict := dict -}} +{{- range $path, $bytes := .Files.Glob "benchmark-definitions/**/resources/**" }} +{{- $name := base (dir (dir $path)) }} +{{- if not (hasKey $processedDict $name) -}} +{{ $_ := set $processedDict $name "true" }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: benchmark-resources-{{ $name }} +data: +{{ ($.Files.Glob (printf "benchmark-definitions/%s/resources/*" $name)).AsConfig | indent 2 }} +--- +{{- end }} +{{- end }} +apiVersion: v1 +kind: ConfigMap +metadata: + name: benchmark-resources-custom +data: {} diff --git a/helm/templates/theodolite/random-scheduler/cluster-role-binding.yaml b/helm/templates/theodolite/random-scheduler/cluster-role-binding.yaml index 658f75c8c5018fe5b9f47cf9619bb4ee5b26b8e5..605159e1b941730d9baddac679c3c1b91e8a88b6 100644 --- a/helm/templates/theodolite/random-scheduler/cluster-role-binding.yaml +++ b/helm/templates/theodolite/random-scheduler/cluster-role-binding.yaml @@ -1,4 +1,4 @@ -{{- if .Values.randomScheduler.rbac.create -}} +{{- if and .Values.randomScheduler.enabled .Values.randomScheduler.rbac.create -}} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: diff --git a/helm/templates/theodolite/random-scheduler/service-account.yaml b/helm/templates/theodolite/random-scheduler/service-account.yaml index babfff17b46d62e7e820fcb9dc8a35d73b4e6538..593d9589de53b0c3ad9f826ea560c77acaf54a25 100644 --- a/helm/templates/theodolite/random-scheduler/service-account.yaml +++ b/helm/templates/theodolite/random-scheduler/service-account.yaml @@ -1,4 +1,4 @@ -{{- if .Values.randomScheduler.serviceAccount.create -}} +{{- if and .Values.randomScheduler.enabled .Values.randomScheduler.serviceAccount.create -}} apiVersion: v1 kind: ServiceAccount metadata: diff --git a/helm/templates/theodolite/theodolite-operator.yaml b/helm/templates/theodolite/theodolite-operator.yaml index 7e9194fb47956e9dfa447a5bf7f820f34bbd50d4..3487b9a4fabb16897b302d8be65f065a647ffb16 100644 --- a/helm/templates/theodolite/theodolite-operator.yaml +++ b/helm/templates/theodolite/theodolite-operator.yaml @@ -29,14 +29,30 @@ spec: - name: THEODOLITE_APP_RESOURCES value: "./benchmark-resources" - name: RESULTS_FOLDER - value: "results" + value: "./results" volumeMounts: {{- if .Values.operator.resultsVolume.enabled }} - name: theodolite-pv-storage mountPath: "/deployments/results" {{- end }} - - name: benchmark-resources - mountPath: /work/benchmark-resources + - name: benchmark-resources-uc1-kstreams + mountPath: /deployments/benchmark-resources/uc1-kstreams + - name: benchmark-resources-uc2-kstreams + mountPath: /deployments/benchmark-resources/uc2-kstreams + - name: benchmark-resources-uc3-kstreams + mountPath: /deployments/benchmark-resources/uc3-kstreams + - name: benchmark-resources-uc4-kstreams + mountPath: /deployments/benchmark-resources/uc4-kstreams + - name: benchmark-resources-uc1-flink + mountPath: /deployments/benchmark-resources/uc1-flink + - name: benchmark-resources-uc2-flink + mountPath: /deployments/benchmark-resources/uc2-flink + - name: benchmark-resources-uc3-flink + mountPath: /deployments/benchmark-resources/uc3-flink + - name: benchmark-resources-uc4-flink + mountPath: /deployments/benchmark-resources/uc4-flink + - name: benchmark-resources-custom + mountPath: /deployments/benchmark-resources/custom {{- if .Values.operator.sloChecker.lagTrend.enabled }} - name: lag-trend-slo-checker image: "{{ .Values.operator.sloChecker.lagTrend.image }}:{{ .Values.operator.sloChecker.lagTrend.imageTag }}" @@ -67,8 +83,40 @@ spec: persistentVolumeClaim: claimName: {{ .Values.operator.resultsVolume.persistentVolumeClaim.name | quote }} {{- end }} - - name: benchmark-resources + - name: benchmark-resources-uc1-kstreams configMap: - name: benchmark-resources + name: benchmark-resources-uc1-kstreams + optional: true + - name: benchmark-resources-uc2-kstreams + configMap: + name: benchmark-resources-uc2-kstreams + optional: true + - name: benchmark-resources-uc3-kstreams + configMap: + name: benchmark-resources-uc3-kstreams + optional: true + - name: benchmark-resources-uc4-kstreams + configMap: + name: benchmark-resources-uc4-kstreams + optional: true + - name: benchmark-resources-uc1-flink + configMap: + name: benchmark-resources-uc1-flink + optional: true + - name: benchmark-resources-uc2-flink + configMap: + name: benchmark-resources-uc2-flink + optional: true + - name: benchmark-resources-uc3-flink + configMap: + name: benchmark-resources-uc3-flink + optional: true + - name: benchmark-resources-uc4-flink + configMap: + name: benchmark-resources-uc4-flink + optional: true + - name: benchmark-resources-custom + configMap: + name: benchmark-resources-custom optional: true {{- end }} diff --git a/theodolite-benchmarks/definitions/install-configmaps.sh b/theodolite-benchmarks/definitions/install-configmaps.sh new file mode 100755 index 0000000000000000000000000000000000000000..7ddd606a162185993ce402ef4d3b84d8d00eb82c --- /dev/null +++ b/theodolite-benchmarks/definitions/install-configmaps.sh @@ -0,0 +1,8 @@ +kubectl create configmap benchmark-resources-uc1-flink --from-file uc1-flink/resources +kubectl create configmap benchmark-resources-uc2-flink --from-file uc2-flink/resources +kubectl create configmap benchmark-resources-uc3-flink --from-file uc3-flink/resources +kubectl create configmap benchmark-resources-uc4-flink --from-file uc4-flink/resources +kubectl create configmap benchmark-resources-uc1-kstreams --from-file uc1-kstreams/resources +kubectl create configmap benchmark-resources-uc2-kstreams --from-file uc2-kstreams/resources +kubectl create configmap benchmark-resources-uc3-kstreams --from-file uc3-kstreams/resources +kubectl create configmap benchmark-resources-uc4-kstreams --from-file uc4-kstreams/resources \ No newline at end of file diff --git a/theodolite-benchmarks/definitions/uc1-flink/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/flink-configuration-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/flink-configuration-configmap.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/flink-configuration-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/jobmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-rest-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/jobmanager-rest-service.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-rest-service.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/jobmanager-service.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/jobmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/service-monitor.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/service-monitor.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/taskmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-flink/taskmanager-service.yaml rename to theodolite-benchmarks/definitions/uc1-flink/resources/taskmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml new file mode 100644 index 0000000000000000000000000000000000000000..30e2d6bcae0156d08aa71c428934f420b4085e38 --- /dev/null +++ b/theodolite-benchmarks/definitions/uc1-flink/uc1-flink-benchmark-operator.yaml @@ -0,0 +1,47 @@ +apiVersion: theodolite.com/v1 +kind: benchmark +metadata: + name: uc1-flink +spec: + appResource: + - "uc1-flink/flink-configuration-configmap.yaml" + - "uc1-flink/taskmanager-deployment.yaml" + - "uc1-flink/taskmanager-service.yaml" + - "uc1-flink/service-monitor.yaml" + - "uc1-flink/jobmanager-service.yaml" + - "uc1-flink/jobmanager-deployment.yaml" + #- "uc1-flink/jobmanager-rest-service.yaml" + loadGenResource: + - "uc1-kstreams/uc1-load-generator-deployment.yaml" + - "uc1-kstreams/uc1-load-generator-service.yaml" + resourceTypes: + - typeName: "Instances" + patchers: + - type: "ReplicaPatcher" + resource: "uc1-flink/taskmanager-deployment.yaml" + - type: "EnvVarPatcher" + resource: "uc1-flink/jobmanager-deployment.yaml" + properties: + container: "jobmanager" + variableName: "PARALLELISM" + - type: "EnvVarPatcher" # required? + resource: "uc1-flink/taskmanager-deployment.yaml" + properties: + container: "taskmanager" + variableName: "PARALLELISM" + loadTypes: + - typeName: "NumSensors" + patchers: + - type: "EnvVarPatcher" + resource: "uc1-kstreams/uc1-load-generator-deployment.yaml" + properties: + container: "workload-generator" + variableName: "NUM_SENSORS" + - type: NumSensorsLoadGeneratorReplicaPatcher + resource: "uc1-kstreams/uc1-load-generator-deployment.yaml" + kafkaConfig: + bootstrapServer: "theodolite-cp-kafka:9092" + topics: + - name: "input" + numPartitions: 40 + replicationFactor: 1 \ No newline at end of file diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-jmx-configmap.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-jmx-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-jmx-configmap.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-jmx-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-deployment.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-service.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-kstreams-service.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-kstreams-service.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-load-generator-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-load-generator-deployment.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-load-generator-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-load-generator-service.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-load-generator-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-load-generator-service.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-load-generator-service.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-service-monitor.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc1-kstreams/uc1-service-monitor.yaml rename to theodolite-benchmarks/definitions/uc1-kstreams/resources/uc1-service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-benchmark-operator.yaml index b80b572dfd30e9c056d3c01ba17cc662d70fc749..4ec3b08d8f20b6b4e4f108b43c9375179b7aee81 100644 --- a/theodolite-benchmarks/definitions/uc1-kstreams/uc1-benchmark-operator.yaml +++ b/theodolite-benchmarks/definitions/uc1-kstreams/uc1-benchmark-operator.yaml @@ -4,28 +4,28 @@ metadata: name: uc1-kstreams spec: appResource: - - "uc1-kstreams-deployment.yaml" - - "uc1-kstreams-service.yaml" - - "uc1-jmx-configmap.yaml" - - "uc1-service-monitor.yaml" + - "uc1-kstreams/uc1-kstreams-deployment.yaml" + - "uc1-kstreams/uc1-kstreams-service.yaml" + - "uc1-kstreams/uc1-jmx-configmap.yaml" + - "uc1-kstreams/uc1-service-monitor.yaml" loadGenResource: - - "uc1-load-generator-deployment.yaml" - - "uc1-load-generator-service.yaml" + - "uc1-kstreams/uc1-load-generator-deployment.yaml" + - "uc1-kstreams/uc1-load-generator-service.yaml" resourceTypes: - typeName: "Instances" patchers: - type: "ReplicaPatcher" - resource: "uc1-kstreams-deployment.yaml" + resource: "uc1-kstreams/uc1-kstreams-deployment.yaml" loadTypes: - typeName: "NumSensors" patchers: - type: "EnvVarPatcher" - resource: "uc1-load-generator-deployment.yaml" + resource: "uc1-kstreams/uc1-load-generator-deployment.yaml" properties: container: "workload-generator" variableName: "NUM_SENSORS" - type: "NumSensorsLoadGeneratorReplicaPatcher" - resource: "uc1-load-generator-deployment.yaml" + resource: "uc1-kstreams/uc1-load-generator-deployment.yaml" properties: loadGenMaxRecords: "15000" kafkaConfig: @@ -34,5 +34,3 @@ spec: - name: "input" numPartitions: 40 replicationFactor: 1 - - name: "theodolite-.*" - removeOnly: True diff --git a/theodolite-benchmarks/definitions/uc2-flink/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/flink-configuration-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/flink-configuration-configmap.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/flink-configuration-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/jobmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-rest-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/jobmanager-rest-service.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-rest-service.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/jobmanager-service.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/jobmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/service-monitor.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/service-monitor.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/taskmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-flink/taskmanager-service.yaml rename to theodolite-benchmarks/definitions/uc2-flink/resources/taskmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4bc67808c5f4ba391650a2f9884444c2dca20cc6 --- /dev/null +++ b/theodolite-benchmarks/definitions/uc2-flink/uc2-flink-benchmark-operator.yaml @@ -0,0 +1,52 @@ +apiVersion: theodolite.com/v1 +kind: benchmark +metadata: + name: uc2-flink +spec: + appResource: + - "uc2-flink/flink-configuration-configmap.yaml" + - "uc2-flink/taskmanager-deployment.yaml" + - "uc2-flink/taskmanager-service.yaml" + - "uc2-flink/service-monitor.yaml" + - "uc2-flink/jobmanager-service.yaml" + - "uc2-flink/jobmanager-deployment.yaml" + #- "uc2-flink/jobmanager-rest-service.yaml" + loadGenResource: + - "uc2-kstreams/uc2-load-generator-deployment.yaml" + - "uc2-kstreams/uc2-load-generator-service.yaml" + resourceTypes: + - typeName: "Instances" + patchers: + - type: "ReplicaPatcher" + resource: "uc2-flink/taskmanager-deployment.yaml" + - type: "EnvVarPatcher" + resource: "uc2-flink/jobmanager-deployment.yaml" + properties: + container: "jobmanager" + variableName: "PARALLELISM" + - type: "EnvVarPatcher" # required? + resource: "uc2-flink/taskmanager-deployment.yaml" + properties: + container: "taskmanager" + variableName: "PARALLELISM" + loadTypes: + - typeName: "NumSensors" + patchers: + - type: "EnvVarPatcher" + resource: "uc2-kstreams/uc2-load-generator-deployment.yaml" + properties: + container: "workload-generator" + variableName: "NUM_SENSORS" + - type: NumSensorsLoadGeneratorReplicaPatcher + resource: "uc2-kstreams/uc2-load-generator-deployment.yaml" + kafkaConfig: + bootstrapServer: "theodolite-cp-kafka:9092" + topics: + - name: "input" + numPartitions: 40 + replicationFactor: 1 + - name: "output" + numPartitions: 40 + replicationFactor: 1 + - name: "theodolite-.*" + removeOnly: True diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-jmx-configmap.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-jmx-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-jmx-configmap.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-jmx-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-deployment.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-service.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-kstreams-service.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-kstreams-service.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-load-generator-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-load-generator-deployment.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-load-generator-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-load-generator-service.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-load-generator-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-load-generator-service.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-load-generator-service.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-service-monitor.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc2-kstreams/uc2-service-monitor.yaml rename to theodolite-benchmarks/definitions/uc2-kstreams/resources/uc2-service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-benchmark-operator.yaml index b65bbdedb055c206c1ebcd7ab6a450318ee8c00f..aa25c53d793fd319ba16e15f8e8a152f177e799e 100644 --- a/theodolite-benchmarks/definitions/uc2-kstreams/uc2-benchmark-operator.yaml +++ b/theodolite-benchmarks/definitions/uc2-kstreams/uc2-benchmark-operator.yaml @@ -1,31 +1,31 @@ apiVersion: theodolite.com/v1 kind: benchmark +metadata: + name: uc2-kstreams spec: - metadata: - name: uc2-kstreams appResource: - - "uc2-kstreams-deployment.yaml" - - "uc2-kstreams-service.yaml" - - "uc2-jmx-configmap.yaml" - - "uc2-service-monitor.yaml" + - "uc2-kstreams/uc2-kstreams-deployment.yaml" + - "uc2-kstreams/uc2-kstreams-service.yaml" + - "uc2-kstreams/uc2-jmx-configmap.yaml" + - "uc2-kstreams/uc2-service-monitor.yaml" loadGenResource: - - "uc2-load-generator-deployment.yaml" - - "uc2-load-generator-service.yaml" + - "uc2-kstreams/uc2-load-generator-deployment.yaml" + - "uc2-kstreams/uc2-load-generator-service.yaml" resourceTypes: - typeName: "Instances" patchers: - type: "ReplicaPatcher" - resource: "uc2-kstreams-deployment.yaml" + resource: "uc2-kstreams/uc2-kstreams-deployment.yaml" loadTypes: - typeName: "NumSensors" patchers: - type: "EnvVarPatcher" - resource: "uc2-load-generator-deployment.yaml" + resource: "uc2-kstreams/uc2-load-generator-deployment.yaml" properties: container: "workload-generator" variableName: "NUM_SENSORS" - type: NumSensorsLoadGeneratorReplicaPatcher - resource: "uc2-load-generator-deployment.yaml" + resource: "uc2-kstreams/uc2-load-generator-deployment.yaml" properties: loadGenMaxRecords: "15000" kafkaConfig: diff --git a/theodolite-benchmarks/definitions/uc3-flink/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/flink-configuration-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/flink-configuration-configmap.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/flink-configuration-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/jobmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-rest-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/jobmanager-rest-service.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-rest-service.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/jobmanager-service.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/jobmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/service-monitor.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/service-monitor.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/taskmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-flink/taskmanager-service.yaml rename to theodolite-benchmarks/definitions/uc3-flink/resources/taskmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f7a05c1371089126d5e39b91f48ac9df42ef05e1 --- /dev/null +++ b/theodolite-benchmarks/definitions/uc3-flink/uc3-flink-benchmark-operator.yaml @@ -0,0 +1,52 @@ +apiVersion: theodolite.com/v1 +kind: benchmark +metadata: + name: uc3-flink +spec: + appResource: + - "uc3-flink/flink-configuration-configmap.yaml" + - "uc3-flink/taskmanager-deployment.yaml" + - "uc3-flink/taskmanager-service.yaml" + - "uc3-flink/service-monitor.yaml" + - "uc3-flink/jobmanager-service.yaml" + - "uc3-flink/jobmanager-deployment.yaml" + #- "uc3-flink/jobmanager-rest-service.yaml" + loadGenResource: + - "uc3-kstreams/uc3-load-generator-deployment.yaml" + - "uc3-kstreams/uc3-load-generator-service.yaml" + resourceTypes: + - typeName: "Instances" + patchers: + - type: "ReplicaPatcher" + resource: "uc3-flink/taskmanager-deployment.yaml" + - type: "EnvVarPatcher" + resource: "uc3-flink/jobmanager-deployment.yaml" + properties: + container: "jobmanager" + variableName: "PARALLELISM" + - type: "EnvVarPatcher" # required? + resource: "uc3-flink/taskmanager-deployment.yaml" + properties: + container: "taskmanager" + variableName: "PARALLELISM" + loadTypes: + - typeName: "NumSensors" + patchers: + - type: "EnvVarPatcher" + resource: "uc3-kstreams/uc3-load-generator-deployment.yaml" + properties: + container: "workload-generator" + variableName: "NUM_SENSORS" + - type: NumSensorsLoadGeneratorReplicaPatcher + resource: "uc3-kstreams/uc3-load-generator-deployment.yaml" + kafkaConfig: + bootstrapServer: "theodolite-cp-kafka:9092" + topics: + - name: "input" + numPartitions: 40 + replicationFactor: 1 + - name: "output" + numPartitions: 40 + replicationFactor: 1 + - name: "theodolite-.*" + removeOnly: True diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-jmx-configmap.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-jmx-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-jmx-configmap.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-jmx-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-deployment.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-service.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-kstreams-service.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-kstreams-service.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-load-generator-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-load-generator-deployment.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-load-generator-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-load-generator-service.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-load-generator-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-load-generator-service.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-load-generator-service.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-service-monitor.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc3-kstreams/uc3-service-monitor.yaml rename to theodolite-benchmarks/definitions/uc3-kstreams/resources/uc3-service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-benchmark-operator.yaml index bfbd7191c5f4a315db29100bcc05341f88cffec2..e2679ed864d4b8673bf0d44a96683ccb86f44090 100644 --- a/theodolite-benchmarks/definitions/uc3-kstreams/uc3-benchmark-operator.yaml +++ b/theodolite-benchmarks/definitions/uc3-kstreams/uc3-benchmark-operator.yaml @@ -1,31 +1,31 @@ apiVersion: theodolite.com/v1 kind: benchmark +metadata: + name: uc3-kstreams spec: - metadata: - name: uc3-kstreams appResource: - - "uc3-kstreams-deployment.yaml" - - "uc3-kstreams-service.yaml" - - "uc3-jmx-configmap.yaml" - - "uc3-service-monitor.yaml" + - "uc3-kstreams/uc3-kstreams-deployment.yaml" + - "uc3-kstreams/uc3-kstreams-service.yaml" + - "uc3-kstreams/uc3-jmx-configmap.yaml" + - "uc3-kstreams/uc3-service-monitor.yaml" loadGenResource: - - "uc3-load-generator-deployment.yaml" - - "uc3-load-generator-service.yaml" + - "uc3-kstreams/uc3-load-generator-deployment.yaml" + - "uc3-kstreams/uc3-load-generator-service.yaml" resourceTypes: - typeName: "Instances" patchers: - type: "ReplicaPatcher" - resource: "uc3-kstreams-deployment.yaml" + resource: "uc3-kstreams/uc3-kstreams-deployment.yaml" loadTypes: - typeName: "NumSensors" patchers: - type: "EnvVarPatcher" - resource: "uc3-load-generator-deployment.yaml" + resource: "uc3-kstreams/uc3-load-generator-deployment.yaml" properties: container: "workload-generator" variableName: "NUM_SENSORS" - type: NumSensorsLoadGeneratorReplicaPatcher - resource: "uc3-load-generator-deployment.yaml" + resource: "uc3-kstreams/uc3-load-generator-deployment.yaml" properties: loadGenMaxRecords: "15000" kafkaConfig: diff --git a/theodolite-benchmarks/definitions/uc4-flink/flink-configuration-configmap.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/flink-configuration-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/flink-configuration-configmap.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/flink-configuration-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/jobmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/jobmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/jobmanager-rest-service.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-rest-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/jobmanager-rest-service.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-rest-service.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/jobmanager-service.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/jobmanager-service.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/jobmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/service-monitor.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/service-monitor.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/taskmanager-deployment.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/taskmanager-deployment.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/taskmanager-service.yaml b/theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-flink/taskmanager-service.yaml rename to theodolite-benchmarks/definitions/uc4-flink/resources/taskmanager-service.yaml diff --git a/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml new file mode 100644 index 0000000000000000000000000000000000000000..523167286f04e3ec0a66a43eabda618908ae3f11 --- /dev/null +++ b/theodolite-benchmarks/definitions/uc4-flink/uc4-flink-benchmark-operator.yaml @@ -0,0 +1,58 @@ +apiVersion: theodolite.com/v1 +kind: benchmark +metadata: + name: uc4-flink +spec: + appResource: + - "uc4-flink/flink-configuration-configmap.yaml" + - "uc4-flink/taskmanager-deployment.yaml" + - "uc4-flink/taskmanager-service.yaml" + - "uc4-flink/service-monitor.yaml" + - "uc4-flink/jobmanager-service.yaml" + - "uc4-flink/jobmanager-deployment.yaml" + #- "uc4-flink/jobmanager-rest-service.yaml" + loadGenResource: + - "uc4-kstreams/uc4-load-generator-deployment.yaml" + - "uc4-kstreams/uc4-load-generator-service.yaml" + resourceTypes: + - typeName: "Instances" + patchers: + - type: "ReplicaPatcher" + resource: "uc4-flink/taskmanager-deployment.yaml" + - type: "EnvVarPatcher" + resource: "uc4-flink/jobmanager-deployment.yaml" + properties: + container: "jobmanager" + variableName: "PARALLELISM" + - type: "EnvVarPatcher" # required? + resource: "uc4-flink/taskmanager-deployment.yaml" + properties: + container: "taskmanager" + variableName: "PARALLELISM" + loadTypes: + - typeName: "NumNestedGroups" + patchers: + - type: "EnvVarPatcher" + resource: "uc4-kstreams/uc4-load-generator-deployment.yaml" + properties: + container: "workload-generator" + variableName: "NUM_NESTED_GROUPS" + - type: "NumNestedGroupsLoadGeneratorReplicaPatcher" + resource: "uc4-kstreams/uc4-load-generator-deployment.yaml" + kafkaConfig: + bootstrapServer: "theodolite-cp-kafka:9092" + topics: + - name: "input" + numPartitions: 40 + replicationFactor: 1 + - name: "output" + numPartitions: 40 + replicationFactor: 1 + - name: "configuration" + numPartitions: 40 + replicationFactor: 1 + - name: "aggregation-feedback" + numPartitions: 40 + replicationFactor: 1 + - name: "theodolite-.*" + removeOnly: True diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-jmx-configmap.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-jmx-configmap.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-jmx-configmap.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-jmx-configmap.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-deployment.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-deployment.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-service.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-kstreams-service.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-kstreams-service.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-load-generator-deployment.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-load-generator-deployment.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-load-generator-deployment.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-load-generator-deployment.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-load-generator-service.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-load-generator-service.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-load-generator-service.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-load-generator-service.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-service-monitor.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-service-monitor.yaml similarity index 100% rename from theodolite-benchmarks/definitions/uc4-kstreams/uc4-service-monitor.yaml rename to theodolite-benchmarks/definitions/uc4-kstreams/resources/uc4-service-monitor.yaml diff --git a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-benchmark-operator.yaml b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-benchmark-operator.yaml index 0ed48c9afd0d8d02493f7afc2df3e440d0ffabdd..3e10fd1aebf071e854cb31501030a50c11eab01d 100644 --- a/theodolite-benchmarks/definitions/uc4-kstreams/uc4-benchmark-operator.yaml +++ b/theodolite-benchmarks/definitions/uc4-kstreams/uc4-benchmark-operator.yaml @@ -1,31 +1,31 @@ apiVersion: theodolite.com/v1 kind: benchmark +metadata: + name: uc4-kstreams spec: - metadata: - name: uc4-kstreams appResource: - - "uc4-kstreams-deployment.yaml" - - "uc4-kstreams-service.yaml" - - "uc4-jmx-configmap.yaml" - - "uc4-service-monitor.yaml" + - "uc4-kstreams/uc4-kstreams-deployment.yaml" + - "uc4-kstreams/uc4-kstreams-service.yaml" + - "uc4-kstreams/uc4-jmx-configmap.yaml" + - "uc4-kstreams/uc4-service-monitor.yaml" loadGenResource: - - "uc4-load-generator-deployment.yaml" - - "uc4-load-generator-service.yaml" + - "uc4-kstreams/uc4-load-generator-deployment.yaml" + - "uc4-kstreams/uc4-load-generator-service.yaml" resourceTypes: - typeName: "Instances" patchers: - type: "ReplicaPatcher" - resource: "uc4-kstreams-deployment.yaml" + resource: "uc4-kstreams/uc4-kstreams-deployment.yaml" loadTypes: - typeName: "NumNestedGroups" patchers: - type: "EnvVarPatcher" - resource: "uc4-load-generator-deployment.yaml" + resource: "uc4-kstreams/uc4-load-generator-deployment.yaml" properties: container: "workload-generator" variableName: "NUM_SENSORS" - type: NumNestedGroupsLoadGeneratorReplicaPatcher - resource: "uc4-load-generator-deployment.yaml" + resource: "uc4-kstreams/uc4-load-generator-deployment.yaml" properties: loadGenMaxRecords: "15000" numSensors: "4.0" diff --git a/theodolite/config/example-execution-yaml-resource.yaml b/theodolite/config/example-execution-yaml-resource.yaml deleted file mode 100644 index e46a6cf417442b851650fe9699f73e1367dcc794..0000000000000000000000000000000000000000 --- a/theodolite/config/example-execution-yaml-resource.yaml +++ /dev/null @@ -1,53 +0,0 @@ -name: example-execution -benchmark: "uc1-kstreams" -load: - loadType: "NumSensors" - loadValues: [25000, 50000, 75000, 100000, 125000, 150000] -resources: - resourceType: "Instances" - resourceValues: [1, 2, 3, 4, 5] -slos: - - sloType: "lag trend" - threshold: 2000 - prometheusUrl: "http://prometheus-operated:9090" - externalSloUrl: "http://localhost:80/evaluate-slope" - offset: 0 - warmup: 60 # in seconds -execution: - strategy: "LinearSearch" - duration: 300 # in seconds - repetitions: 1 - loadGenerationDelay: 30 # in seconds, optional field, default is 0 seconds - restrictions: - - "LowerBound" -configOverrides: - - patcher: - type: "NodeSelectorPatcher" - resource: "uc1-load-generator-deployment.yaml" - properties: - variableName: "env" - value: "prod" - - patcher: - type: "NodeSelectorPatcher" - resource: "uc1-kstreams-deployment.yaml" - properties: - variableName: "env" - value: "prod" - - patcher: - type: "ResourceLimitPatcher" - resource: "uc1-kstreams-deployment.yaml" - properties: - container: "uc-application" - limitedResource: "cpu" - value: "1000m" - - patcher: - type: "ResourceLimitPatcher" - resource: "uc1-kstreams-deployment.yaml" - properties: - container: "uc-application" - limitedResource: "memory" - value: "2Gi" -# - patcher: -# type: "SchedulerNamePatcher" -# resource: "uc1-kstreams-deployment.yaml" -# value: "random-scheduler" diff --git a/theodolite/config/example-operator-execution.yaml b/theodolite/config/example-operator-execution.yaml deleted file mode 100644 index 9b2a1facbd8be3411407dfcf3cad39fd9f3de6b6..0000000000000000000000000000000000000000 --- a/theodolite/config/example-operator-execution.yaml +++ /dev/null @@ -1,57 +0,0 @@ -apiVersion: theodolite.com/v1 -kind: execution -metadata: - name: example-execution -spec: - benchmark: "uc1-kstreams" - load: - loadType: "NumSensors" - loadValues: [25000, 50000, 75000, 100000, 125000, 150000] - resources: - resourceType: "Instances" - resourceValues: [1, 2, 3, 4, 5] - slos: - - sloType: "lag trend" - threshold: 2000 - prometheusUrl: "http://prometheus-operated:9090" - externalSloUrl: "http://localhost:80/evaluate-slope" - offset: 0 - warmup: 60 # in seconds - execution: - strategy: "LinearSearch" - duration: 300 # in seconds - repetitions: 1 - loadGenerationDelay: 30 # in seconds - restrictions: - - "LowerBound" - configOverrides: - # - patcher: - # type: "NodeSelectorPatcher" - # resource: "uc1-load-generator-deployment.yaml" - # properties: - # variableName: "env" - # value: "prod" - # - patcher: - # type: "NodeSelectorPatcher" - # resource: "uc1-kstreams-deployment.yaml" - # properties: - # variableName: "env" - # value: "prod" - # - patcher: - # type: "ResourceLimitPatcher" - # resource: "uc1-kstreams-deployment.yaml" - # properties: - # container: "uc-application" - # limitedResource: "cpu" - # value: "1000m" - # - patcher: - # type: "ResourceLimitPatcher" - # resource: "uc1-kstreams-deployment.yaml" - # properties: - # container: "uc-application" - # limitedResource: "memory" - # value: "2Gi" - # - patcher: - # type: "SchedulerNamePatcher" - # resource: "uc1-kstreams-deployment.yaml" - # value: "random-scheduler"