From df678cea7dc0acb075033c440506b5e7791d1e74 Mon Sep 17 00:00:00 2001 From: Carlos Mendes Date: Sun, 28 Jul 2024 12:20:55 -0300 Subject: [PATCH] waiting for the pod to be ready --- .../execution/steps/EnvironmentStep.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/resilience-bench/operator/src/main/java/io/resiliencebench/execution/steps/EnvironmentStep.java b/resilience-bench/operator/src/main/java/io/resiliencebench/execution/steps/EnvironmentStep.java index ccb3e54..9edf8be 100644 --- a/resilience-bench/operator/src/main/java/io/resiliencebench/execution/steps/EnvironmentStep.java +++ b/resilience-bench/operator/src/main/java/io/resiliencebench/execution/steps/EnvironmentStep.java @@ -1,18 +1,20 @@ package io.resiliencebench.execution.steps; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + import com.fasterxml.jackson.databind.JsonNode; + import io.fabric8.kubernetes.api.model.apps.Deployment; import io.fabric8.kubernetes.client.KubernetesClient; import io.resiliencebench.resources.queue.ExecutionQueue; import io.resiliencebench.resources.scenario.Scenario; import io.resiliencebench.resources.service.ResilientService; import io.resiliencebench.support.CustomResourceRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -import java.util.Map; -import java.util.concurrent.TimeUnit; @Service public class EnvironmentStep extends ExecutorStep { @@ -22,7 +24,7 @@ public class EnvironmentStep extends ExecutorStep { private final CustomResourceRepository resilientServiceRepository; public EnvironmentStep(KubernetesClient kubernetesClient, - CustomResourceRepository resilientServiceRepository) { + CustomResourceRepository resilientServiceRepository) { super(kubernetesClient); this.resilientServiceRepository = resilientServiceRepository; } @@ -97,7 +99,9 @@ public void applyNewVariables(Deployment deployment, String containerName, Map pod.getStatus().getReadyReplicas().equals(pod.getStatus().getReplicas()), 1, TimeUnit.MINUTES); + .waitUntilCondition(pod -> pod.getStatus().getConditions().stream().anyMatch( + condition -> "Ready".equals(condition.getType()) && "True".equals(condition.getStatus() + )), 1, TimeUnit.MINUTES); logger.info("Pods restarted successfully"); } }