Skip to content
Snippets Groups Projects

Introduce new Benchmark class and Patcher

7 files
+ 15
20
Compare changes
  • Side-by-side
  • Inline
Files
7
@@ -2,7 +2,6 @@ package theodolite.benchmark
@@ -2,7 +2,6 @@ package theodolite.benchmark
import io.fabric8.kubernetes.api.model.KubernetesResource
import io.fabric8.kubernetes.api.model.KubernetesResource
import io.fabric8.kubernetes.client.DefaultKubernetesClient
import io.fabric8.kubernetes.client.DefaultKubernetesClient
import org.apache.kafka.clients.admin.NewTopic
import theodolite.k8s.K8sResourceLoader
import theodolite.k8s.K8sResourceLoader
import theodolite.patcher.PatcherManager
import theodolite.patcher.PatcherManager
import theodolite.util.*
import theodolite.util.*
@@ -22,7 +21,7 @@ class KubernetesBenchmark(): Benchmark {
@@ -22,7 +21,7 @@ class KubernetesBenchmark(): Benchmark {
private fun loadKubernetesResources(resources: List<String>): List<Pair<String, KubernetesResource>> {
private fun loadKubernetesResources(resources: List<String>): List<Pair<String, KubernetesResource>> {
val basePath = "./../../../resources/main/yaml/"
val basePath = "./../../../resources/main/yaml/"
var parser = YamlParser()
var parser = YamlParser()
val loader = K8sResourceLoader(DefaultKubernetesClient().inNamespace("default"))
val loader = K8sResourceLoader(DefaultKubernetesClient().inNamespace("theodolite-she"))
return resources
return resources
.map { resource ->
.map { resource ->
val resourcePath = "$basePath/$resource"
val resourcePath = "$basePath/$resource"
@@ -33,11 +32,9 @@ class KubernetesBenchmark(): Benchmark {
@@ -33,11 +32,9 @@ class KubernetesBenchmark(): Benchmark {
}
}
override fun buildDeployment(load: LoadDimension, res: Resource, configurationOverrides: List<ConfigurationOverride>): BenchmarkDeployment {
override fun buildDeployment(load: LoadDimension, res: Resource, configurationOverrides: List<ConfigurationOverride>): BenchmarkDeployment {
// TODO("set node selector")
val resources = loadKubernetesResources(this.appResource + this.loadGenResource)
val resources = loadKubernetesResources(this.appResource + this.loadGenResource)
val patcherManager = PatcherManager()
val patcherManager = PatcherManager()
// patch res and load
// patch res and load
patcherManager.createAndApplyPatcher(res.getType(), this.resourceTypes, resources, res.get())
patcherManager.createAndApplyPatcher(res.getType(), this.resourceTypes, resources, res.get())
patcherManager.createAndApplyPatcher(load.getType(), this.loadTypes, resources, load.get().toString())
patcherManager.createAndApplyPatcher(load.getType(), this.loadTypes, resources, load.get().toString())
@@ -46,8 +43,8 @@ class KubernetesBenchmark(): Benchmark {
@@ -46,8 +43,8 @@ class KubernetesBenchmark(): Benchmark {
configurationOverrides.forEach{ override -> patcherManager.applyPatcher(listOf(override.patcher), resources, override.value)}
configurationOverrides.forEach{ override -> patcherManager.applyPatcher(listOf(override.patcher), resources, override.value)}
return KubernetesBenchmarkDeployment(
return KubernetesBenchmarkDeployment(
resources.map { r -> r.second },
resources = resources.map { r -> r.second },
kafkaConfig = hashMapOf("bootstrap.servers" to kafkaConfig.bootstrapSever),
kafkaConfig = hashMapOf("bootstrap.servers" to kafkaConfig.bootstrapServer),
zookeeperConfig = zookeeperConfig["server"].toString(),
zookeeperConfig = zookeeperConfig["server"].toString(),
topics = kafkaConfig.topics)
topics = kafkaConfig.topics)
}
}
Loading