Skip to content
Snippets Groups Projects

Restructuring to create the PatcherDefinition inside the TheodoliteExecutor

Merged Benedikt Wetzel requested to merge wetzel/spesb:164-restructure-patcher into theodolite-kotlin
All threads resolved!
Files
11
@@ -4,7 +4,7 @@ import io.fabric8.kubernetes.api.model.KubernetesResource
import io.fabric8.kubernetes.client.DefaultKubernetesClient
import mu.KotlinLogging
import theodolite.k8s.K8sResourceLoader
import theodolite.patcher.PatcherManager
import theodolite.patcher.PatcherFactory
import theodolite.util.*
private val logger = KotlinLogging.logger {}
@@ -43,20 +43,15 @@ class KubernetesBenchmark : Benchmark {
configurationOverrides: List<ConfigurationOverride>
): BenchmarkDeployment {
val resources = loadKubernetesResources(this.appResource + this.loadGenResource)
val patcherManager = PatcherManager()
val patcherFactory = PatcherFactory()
// patch res and load
patcherManager.createAndApplyPatcher(res.getType(), this.resourceTypes, resources, res.get())
patcherManager.createAndApplyPatcher(load.getType(), this.loadTypes, resources, load.get().toString())
// patch the load dimension the resources
load.getType().forEach { patcherDefinition -> patcherFactory.createPatcher(patcherDefinition, resources).patch(load.get().toString()) }
res.getType().forEach{ patcherDefinition -> patcherFactory.createPatcher(patcherDefinition, resources).patch(res.get().toString()) }
// Patch the given overrides
configurationOverrides.forEach { override -> patcherFactory.createPatcher(override.patcher, resources).patch(override.value) }
// patch overrides
configurationOverrides.forEach { override ->
patcherManager.applyPatcher(
listOf(override.patcher),
resources,
override.value
)
}
return KubernetesBenchmarkDeployment(
namespace = namespace,
Loading