summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2017-11-20 15:49:14 +0100
committerHåkon Hallingstad <hakon@oath.com>2017-11-20 15:49:14 +0100
commit1974ae204b9f8ddffa11a13bcef71b20bb8316b8 (patch)
tree3ea5e3e8a350277170fe7862a362d2e77650e9de /node-admin
parentea3337de3fae5975116e2dc794736caa17959d6d (diff)
Stop services in parallel when suspending
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java3
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java1
2 files changed, 3 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
index ddb04f1249d..2d22f4c4ccf 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
@@ -147,7 +147,8 @@ public class NodeAdminImpl implements NodeAdmin {
@Override
public void stopNodeAgentServices(List<String> hostnames) {
- nodeAgents.values().stream()
+ // Each container may spend 1-1:30 minutes stopping
+ nodeAgents.values().parallelStream()
.filter(nodeAgent -> hostnames.contains(nodeAgent.getHostname()))
.forEach(NodeAgent::stopServices);
}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
index e5e19ff69e4..906e6b55640 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
@@ -232,6 +232,7 @@ public class NodeAdminStateUpdater {
nodesToSuspend.addAll(nodesInActiveState);
nodesToSuspend.add(dockerHostHostName);
orchestrator.suspend(dockerHostHostName, nodesToSuspend);
+ log.info("Orchestrator allows suspension of " + nodesToSuspend);
// The node agent services are stopped by this thread, which is OK only
// because the node agents are frozen (see above).