diff options
author | Håkon Hallingstad <hakon@oath.com> | 2017-11-20 15:49:14 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2017-11-20 15:49:14 +0100 |
commit | 1974ae204b9f8ddffa11a13bcef71b20bb8316b8 (patch) | |
tree | 3ea5e3e8a350277170fe7862a362d2e77650e9de /node-admin | |
parent | ea3337de3fae5975116e2dc794736caa17959d6d (diff) |
Stop services in parallel when suspending
Diffstat (limited to 'node-admin')
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). |