Skip to content
Snippets Groups Projects
Commit 6b2d51f8 authored by Sören Henning's avatar Sören Henning
Browse files

Increasing K8s logging

parent c9ccd41f
No related branches found
No related tags found
3 merge requests!159Re-implementation of Theodolite with Kotlin/Quarkus,!157Update Graal Image in CI pipeline,!83WIP: Re-implementation of Theodolite with Kotlin/Quarkus
Pipeline #2828 passed
...@@ -6,6 +6,9 @@ import io.fabric8.kubernetes.api.model.Service ...@@ -6,6 +6,9 @@ import io.fabric8.kubernetes.api.model.Service
import io.fabric8.kubernetes.api.model.apps.Deployment import io.fabric8.kubernetes.api.model.apps.Deployment
import io.fabric8.kubernetes.api.model.apps.StatefulSet import io.fabric8.kubernetes.api.model.apps.StatefulSet
import io.fabric8.kubernetes.client.NamespacedKubernetesClient import io.fabric8.kubernetes.client.NamespacedKubernetesClient
import mu.KotlinLogging
private val logger = KotlinLogging.logger {}
/** /**
* This class is used to deploy or remove different Kubernetes resources. * This class is used to deploy or remove different Kubernetes resources.
...@@ -42,7 +45,8 @@ class K8sManager(private val client: NamespacedKubernetesClient) { ...@@ -42,7 +45,8 @@ class K8sManager(private val client: NamespacedKubernetesClient) {
is Deployment -> { is Deployment -> {
val label = resource.spec.selector.matchLabels["app"]!! val label = resource.spec.selector.matchLabels["app"]!!
this.client.apps().deployments().delete(resource) this.client.apps().deployments().delete(resource)
blockUntilDeleted(label) blockUntilPodDeleted(label)
logger.info { "Deployment '$resource' deleted." }
} }
is Service -> is Service ->
this.client.services().delete(resource) this.client.services().delete(resource)
...@@ -51,7 +55,8 @@ class K8sManager(private val client: NamespacedKubernetesClient) { ...@@ -51,7 +55,8 @@ class K8sManager(private val client: NamespacedKubernetesClient) {
is StatefulSet -> { is StatefulSet -> {
val label = resource.spec.selector.matchLabels["app"]!! val label = resource.spec.selector.matchLabels["app"]!!
this.client.apps().statefulSets().delete(resource) this.client.apps().statefulSets().delete(resource)
blockUntilDeleted(label) blockUntilPodDeleted(label)
logger.info { "StatefulSet '$resource' deleted." }
} }
is ServiceMonitorWrapper -> resource.delete(client) is ServiceMonitorWrapper -> resource.delete(client)
else -> throw IllegalArgumentException("Unknown Kubernetes resource.") else -> throw IllegalArgumentException("Unknown Kubernetes resource.")
...@@ -59,13 +64,14 @@ class K8sManager(private val client: NamespacedKubernetesClient) { ...@@ -59,13 +64,14 @@ class K8sManager(private val client: NamespacedKubernetesClient) {
} }
private fun blockUntilDeleted(label: String) { private fun blockUntilPodDeleted(podLabel: String) {
var deleted = false var deleted = false
do { do {
val pods = this.client.pods().withLabel(label).list().items val pods = this.client.pods().withLabel(podLabel).list().items
if (pods.isNullOrEmpty()) { if (pods.isNullOrEmpty()) {
deleted = true deleted = true
} }
logger.info { "Wait for pods with label '$podLabel' to be deleted." }
Thread.sleep(1000) Thread.sleep(1000)
} while (!deleted) } while (!deleted)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment