Skip to content
Snippets Groups Projects

Introduce new Benchmark class and Patcher

8 files
+ 408
14
Compare changes
  • Side-by-side
  • Inline
Files
8
@@ -4,6 +4,7 @@ import io.fabric8.kubernetes.api.model.KubernetesResource
@@ -4,6 +4,7 @@ import io.fabric8.kubernetes.api.model.KubernetesResource
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.Quantity
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.fabric8.kubernetes.api.model.ResourceRequirements
import io.fabric8.kubernetes.api.model.apps.Deployment
import io.fabric8.kubernetes.api.model.apps.Deployment
 
import javax.validation.constraints.Null
class ResourceLimitPatcher(
class ResourceLimitPatcher(
private val k8sResource: KubernetesResource,
private val k8sResource: KubernetesResource,
@@ -14,19 +15,21 @@ class ResourceLimitPatcher(
@@ -14,19 +15,21 @@ class ResourceLimitPatcher(
override fun <String> patch(value: String) {
override fun <String> patch(value: String) {
if (k8sResource is Deployment) {
if (k8sResource is Deployment) {
k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
k8sResource.spec.template.spec.containers.filter { it.name == container }.forEach {
try {
when {
if (it.resources.limits.isEmpty()) {
it.resources == null -> {
 
val resource = ResourceRequirements()
 
resource.limits = mapOf(limitedResource to Quantity(value as kotlin.String))
 
it.resources = resource
 
}
 
it.resources.limits.isEmpty() -> {
it.resources.limits = mapOf(limitedResource to Quantity(value as kotlin.String))
it.resources.limits = mapOf(limitedResource to Quantity(value as kotlin.String))
} else {
}
 
else -> {
val values = mutableMapOf<kotlin.String, Quantity>()
val values = mutableMapOf<kotlin.String, Quantity>()
it.resources.limits.forEach { entry -> values[entry.key] = entry.value }
it.resources.limits.forEach { entry -> values[entry.key] = entry.value }
values[limitedResource] = Quantity(value as kotlin.String)
values[limitedResource] = Quantity(value as kotlin.String)
it.resources.limits = values
it.resources.limits = values
}
}
} catch (e: IllegalStateException) {
val resource = ResourceRequirements()
resource.limits = mapOf(limitedResource to Quantity(value as kotlin.String))
it.resources = resource
}
}
}
}
}
}
Loading