aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-05-22 12:41:12 +0200
committerHarald Musum <musum@verizonmedia.com>2021-05-22 12:41:12 +0200
commit9a1a0df312c7282e138f67e8d7778a136c4bf0e7 (patch)
treeb6bca74864d8f9a142e3599fa44b45626f621ee9 /controller-server
parent3996d10f675ec994e541eaa5dfbd3f15adea6926 (diff)
Check that endpoints are up in parallel
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
index 5bd43dfd695..e9755b7fd8b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
@@ -426,21 +426,20 @@ public class InternalStepRunner implements StepRunner {
return Optional.empty();
}
- /** Returns true iff all containers in the deployment give 100 consecutive 200 OK responses on /status.html. */
+ /** Returns true iff all calls to endpoint in the deployment give 100 consecutive 200 OK responses on /status.html. */
private boolean containersAreUp(ApplicationId id, ZoneId zoneId, DualLogger logger) {
var endpoints = controller.routing().zoneEndpointsOf(Set.of(new DeploymentId(id, zoneId)));
if ( ! endpoints.containsKey(zoneId))
return false;
- for (var endpoint : endpoints.get(zoneId)) {
+ return endpoints.get(zoneId).parallelStream().map(endpoint -> {
boolean ready = controller.jobController().cloud().ready(endpoint.url());
if ( ! ready) {
logger.log("Failed to get 100 consecutive OKs from " + endpoint);
- return false;
+ return Boolean.FALSE;
}
- }
-
- return true;
+ return Boolean.TRUE;
+ }).allMatch(Boolean.TRUE::equals);
}
/** Returns true iff all containers in the tester deployment give 100 consecutive 200 OK responses on /status.html. */