From 5d368035d984a8a466337f06547b30e636db1fa9 Mon Sep 17 00:00:00 2001 From: "stu126940@mail.uni-kiel.de" <stu126940@mail.uni-kiel.de> Date: Mon, 4 Apr 2022 11:28:47 +0200 Subject: [PATCH] Use GenericKubernetesResource instead of CustomResource<*,*> and clean up --- .../src/main/kotlin/theodolite/patcher/AbstractPatcher.kt | 4 ---- .../patcher/DataVolumeLoadGeneratorReplicaPatcher.kt | 2 -- .../src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt | 3 --- .../src/main/kotlin/theodolite/patcher/ImagePatcher.kt | 2 -- .../src/main/kotlin/theodolite/patcher/LabelPatcher.kt | 6 ++---- .../src/main/kotlin/theodolite/patcher/MatchLabelPatcher.kt | 3 --- .../src/main/kotlin/theodolite/patcher/NamePatcher.kt | 6 ++---- .../main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt | 3 --- .../patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt | 2 -- .../patcher/NumSensorsLoadGeneratorReplicaPatcher.kt | 2 -- theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt | 2 -- .../src/main/kotlin/theodolite/patcher/PatcherFactory.kt | 2 -- .../src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt | 2 -- .../main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt | 1 - .../kotlin/theodolite/patcher/ResourceRequestPatcher.kt | 2 -- .../main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt | 2 -- .../kotlin/theodolite/patcher/ServiceSelectorPatcher.kt | 2 -- .../main/kotlin/theodolite/patcher/TemplateLabelPatcher.kt | 2 -- .../kotlin/theodolite/patcher/VolumesConfigMapPatcher.kt | 2 -- 19 files changed, 4 insertions(+), 46 deletions(-) diff --git a/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt index 1d9425410..c3353c7cb 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/AbstractPatcher.kt @@ -1,7 +1,6 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.client.utils.Serialization /** @@ -9,9 +8,6 @@ import io.fabric8.kubernetes.client.utils.Serialization * * An AbstractPatcher is created with up to three parameters. * - * @param k8sResource The Kubernetes resource to be patched. - * @param container *(optional)* The name of the container to be patched - * @param variableName *(optional)* The variable name to be patched * * * **For example** to patch the load dimension of a load generator, the patcher should be created as follow: diff --git a/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt index 2eb047467..db019282f 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/DataVolumeLoadGeneratorReplicaPatcher.kt @@ -1,7 +1,6 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource /** * The DataVolumeLoadGeneratorReplicaPatcher takes the total load that should be generated @@ -11,7 +10,6 @@ import io.fabric8.kubernetes.api.model.KubernetesResource * The number of instances are set for the load generator and the given variable is set to the * load per instance. * - * @property k8sResource Kubernetes resource to be patched. * @property maxVolume per load generator instance * @property container Container to be patched. * @property variableName Name of the environment variable to be patched. diff --git a/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt index d1f8778d7..0f1672fa2 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/EnvVarPatcher.kt @@ -3,14 +3,11 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.Container import io.fabric8.kubernetes.api.model.EnvVar import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization /** * The EnvVarPatcher allows to modify the value of an environment variable * - * @property k8sResource Kubernetes resource to be patched. * @property container Container to be patched. * @property variableName Name of the environment variable to be patched. */ diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt index 8997ac2d3..b6417d410 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/ImagePatcher.kt @@ -1,7 +1,6 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet import io.fabric8.kubernetes.client.utils.Serialization @@ -9,7 +8,6 @@ import io.fabric8.kubernetes.client.utils.Serialization /** * The Image patcher allows to change the image of a container. * - * @param k8sResource Kubernetes resource to be patched. * @param container Container to be patched. */ class ImagePatcher( diff --git a/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt index 2639cadc3..10fa87aed 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/LabelPatcher.kt @@ -1,13 +1,11 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.ConfigMap +import io.fabric8.kubernetes.api.model.GenericKubernetesResource import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.Service import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.CustomResource -import io.fabric8.kubernetes.client.utils.Serialization class LabelPatcher( val variableName: String) : @@ -40,7 +38,7 @@ class LabelPatcher( } resource.metadata.labels[this.variableName] = value } - is CustomResource<*, *> -> { + is GenericKubernetesResource -> { if (resource.metadata.labels == null) { resource.metadata.labels = mutableMapOf() } diff --git a/theodolite/src/main/kotlin/theodolite/patcher/MatchLabelPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/MatchLabelPatcher.kt index 9da00cd9a..a0936c648 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/MatchLabelPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/MatchLabelPatcher.kt @@ -1,15 +1,12 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.utils.Serialization /** * This patcher is able to set the `spec.selector.matchLabels` for a `Deployment` or `StatefulSet` Kubernetes resource. * - * @property k8sResource The Kubernetes manifests to patch * @property variableName The matchLabel which should be set */ class MatchLabelPatcher( diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NamePatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NamePatcher.kt index 0eded122f..341029456 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/NamePatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/NamePatcher.kt @@ -1,13 +1,11 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.ConfigMap +import io.fabric8.kubernetes.api.model.GenericKubernetesResource import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.Service import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.CustomResource -import io.fabric8.kubernetes.client.utils.Serialization class NamePatcher : AbstractPatcher() { @@ -28,7 +26,7 @@ class NamePatcher : AbstractPatcher() { is io.fabric8.kubernetes.api.model.networking.v1.Ingress -> { resource.metadata.name = value } - is CustomResource<*, *> -> { + is GenericKubernetesResource -> { resource.metadata.name = value } } diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt index 4743ca605..60ff38a07 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/NodeSelectorPatcher.kt @@ -1,14 +1,11 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization /** * The Node selector patcher make it possible to set the NodeSelector of a Kubernetes deployment. * - * @param k8sResource Kubernetes resource to be patched. * @param variableName The `label-key` of the node for which the `label-value` is to be patched. */ class NodeSelectorPatcher( diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt index f35bd6a1a..a9ce4664b 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/NumNestedGroupsLoadGeneratorReplicaPatcher.kt @@ -1,9 +1,7 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization import kotlin.math.pow class NumNestedGroupsLoadGeneratorReplicaPatcher( diff --git a/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt index 81a30d619..72a1c39e0 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/NumSensorsLoadGeneratorReplicaPatcher.kt @@ -1,9 +1,7 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization class NumSensorsLoadGeneratorReplicaPatcher( diff --git a/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt index bf6b75fdc..72fe6a1f0 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/Patcher.kt @@ -1,7 +1,6 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.quarkus.runtime.annotations.RegisterForReflection /** @@ -15,7 +14,6 @@ interface Patcher { * The patch method modifies a value in the definition of a * Kubernetes resource. * - * @param T The type of value * @param value The value to be used. */ fun patch(resources: List<HasMetadata>, value: String) : List<HasMetadata> diff --git a/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt b/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt index b92249897..85848a484 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/PatcherFactory.kt @@ -1,7 +1,5 @@ package theodolite.patcher -import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import theodolite.util.InvalidPatcherConfigurationException import theodolite.util.PatcherDefinition diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt index 9b273acee..01c9d5152 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/ReplicaPatcher.kt @@ -1,9 +1,7 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization /** * The Replica [Patcher] modifies the number of replicas for the given Kubernetes deployment. diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt index 774b080d0..c6aa37d3d 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/ResourceLimitPatcher.kt @@ -3,7 +3,6 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.* import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.utils.Serialization import theodolite.util.InvalidPatcherConfigurationException /** diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt index d347fa686..e67d614fe 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/ResourceRequestPatcher.kt @@ -3,13 +3,11 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.* import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.utils.Serialization import theodolite.util.InvalidPatcherConfigurationException /** * The Resource request [Patcher] set resource limits for deployments and statefulSets. * - * @param k8sResource Kubernetes resource to be patched. * @param container Container to be patched. * @param requestedResource The resource to be requested (e.g. **cpu or memory**) */ diff --git a/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt index 130afd8cf..00a77c4e9 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/SchedulerNamePatcher.kt @@ -1,9 +1,7 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment -import io.fabric8.kubernetes.client.utils.Serialization /** * The Scheduler name [Patcher] make it possible to set the scheduler which should diff --git a/theodolite/src/main/kotlin/theodolite/patcher/ServiceSelectorPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/ServiceSelectorPatcher.kt index 86e34a043..99d8f07fa 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/ServiceSelectorPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/ServiceSelectorPatcher.kt @@ -1,9 +1,7 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.Service -import io.fabric8.kubernetes.client.utils.Serialization class ServiceSelectorPatcher( private var variableName: String diff --git a/theodolite/src/main/kotlin/theodolite/patcher/TemplateLabelPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/TemplateLabelPatcher.kt index 3b905b07e..2a6ee13fe 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/TemplateLabelPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/TemplateLabelPatcher.kt @@ -1,10 +1,8 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.utils.Serialization /** * This patcher is able to set the field `spec.template.metadata.labels` for a `Deployment` or `StatefulSet` Kubernetes resource. diff --git a/theodolite/src/main/kotlin/theodolite/patcher/VolumesConfigMapPatcher.kt b/theodolite/src/main/kotlin/theodolite/patcher/VolumesConfigMapPatcher.kt index dc113499c..73f55a0f6 100644 --- a/theodolite/src/main/kotlin/theodolite/patcher/VolumesConfigMapPatcher.kt +++ b/theodolite/src/main/kotlin/theodolite/patcher/VolumesConfigMapPatcher.kt @@ -1,10 +1,8 @@ package theodolite.patcher import io.fabric8.kubernetes.api.model.HasMetadata -import io.fabric8.kubernetes.api.model.KubernetesResource import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.StatefulSet -import io.fabric8.kubernetes.client.utils.Serialization class VolumesConfigMapPatcher(private var volumeName: String ) : AbstractPatcher() { -- GitLab