Skip to content

Commit c9ff4e2

Browse files
authored
Added extra check to avoid intermittent timing issue for deployment creation (#2586)
* Added extra check to avoid intermittent timing issue for deployment creation
1 parent 3de90b3 commit c9ff4e2

File tree

1 file changed

+11
-10
lines changed
  • integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl

1 file changed

+11
-10
lines changed

integration-tests/src/test/java/oracle/weblogic/kubernetes/assertions/impl/Kubernetes.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.HashMap;
1010
import java.util.List;
1111
import java.util.Map;
12+
import java.util.Optional;
1213
import java.util.logging.Level;
1314
import java.util.stream.Collectors;
1415

@@ -22,6 +23,7 @@
2223
import io.kubernetes.client.openapi.models.V1Deployment;
2324
import io.kubernetes.client.openapi.models.V1DeploymentCondition;
2425
import io.kubernetes.client.openapi.models.V1DeploymentList;
26+
import io.kubernetes.client.openapi.models.V1DeploymentStatus;
2527
import io.kubernetes.client.openapi.models.V1Job;
2628
import io.kubernetes.client.openapi.models.V1JobCondition;
2729
import io.kubernetes.client.openapi.models.V1JobList;
@@ -661,18 +663,17 @@ public static boolean isDeploymentReady(String deploymentName,
661663
String namespace) throws ApiException {
662664
boolean status = false;
663665
V1Deployment deployment = getDeployment(deploymentName, label, namespace);
664-
if (deployment != null) {
665-
// get the deploymentCondition with the 'Available' type field
666-
V1DeploymentCondition v1DeploymentRunningCondition = deployment.getStatus().getConditions().stream()
667-
.filter(v1DeploymentCondition -> "Available".equals(v1DeploymentCondition.getType()))
668-
.findAny()
669-
.orElse(null);
670666

671-
if (v1DeploymentRunningCondition != null) {
672-
status = v1DeploymentRunningCondition.getStatus().equalsIgnoreCase("true");
673-
}
667+
V1DeploymentCondition v1DeploymentRunningCondition = Optional.ofNullable(deployment)
668+
.map(V1Deployment::getStatus).map(V1DeploymentStatus::getConditions)
669+
.orElse(null).stream()
670+
.filter(v1DeploymentCondition -> "Available".equals(v1DeploymentCondition.getType()))
671+
.findAny()
672+
.orElse(null);
673+
if (v1DeploymentRunningCondition != null) {
674+
status = v1DeploymentRunningCondition.getStatus().equalsIgnoreCase("true");
674675
} else {
675-
getLogger().info("Deployment doesn't exist");
676+
getLogger().info("Can't check deployment status");
676677
}
677678
return status;
678679
}

0 commit comments

Comments
 (0)