From 75e2dc632db232340646757ef48a1f24f7ca3d30 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <soeren.henning@email.uni-kiel.de>
Date: Thu, 8 Dec 2022 18:15:13 +0100
Subject: [PATCH] Support patching load generator from resources and sut from
 load dimension

---
 .../KubernetesBenchmarkDeploymentBuilder.kt   | 21 ++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
index 67fe92afb..810999a71 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
@@ -40,14 +40,25 @@ class KubernetesBenchmarkDeploymentBuilder (val kubernetesBenchmark: KubernetesB
         val appResources = loadKubernetesResources(kubernetesBenchmark.sut.resources, this.client).toResourceMap()
         val loadGenResources = loadKubernetesResources(kubernetesBenchmark.loadGenerator.resources, this.client).toResourceMap()
 
-        // patch the load dimension the resources
+        // patch the load dimension
         loadPatcherDefinitions.forEach { patcherDefinition ->
-            loadGenResources[patcherDefinition.resource] =
-                PatchHandler.patchResource(loadGenResources, patcherDefinition, load.toString())
+            if (appResources.keys.contains(patcherDefinition.resource)) {
+                appResources[patcherDefinition.resource] =
+                    PatchHandler.patchResource(appResources, patcherDefinition, load.toString())
+            } else {
+                loadGenResources[patcherDefinition.resource] =
+                    PatchHandler.patchResource(loadGenResources, patcherDefinition, load.toString())
+            }
         }
+        // patch the resource dimension
         resourcePatcherDefinitions.forEach { patcherDefinition ->
-            appResources[patcherDefinition.resource] =
-                PatchHandler.patchResource(appResources, patcherDefinition, resource.toString())
+            if (appResources.keys.contains(patcherDefinition.resource)) {
+                appResources[patcherDefinition.resource] =
+                    PatchHandler.patchResource(appResources, patcherDefinition, resource.toString())
+            } else {
+                loadGenResources[patcherDefinition.resource] =
+                    PatchHandler.patchResource(loadGenResources, patcherDefinition, resource.toString())
+            }
         }
 
         // Patch the given overrides
-- 
GitLab