aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2021-06-04 09:52:19 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2021-06-04 09:52:19 +0200
commit3cd105d36e445d0421d94eadf1833fc0826ebacd (patch)
tree9d9fb5db4aa0942edeced6c530f46663aea9a875 /node-admin
parent7ee01cb4f6e9c234b7470646847ae0461bc95344 (diff)
Also remove non-active containers in SUSPENDED_HOST
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java6
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java10
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java2
4 files changed, 8 insertions, 12 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
index 6d9eae5c4dc..e510618c5a4 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
@@ -4,7 +4,6 @@ package com.yahoo.vespa.hosted.node.admin.nodeadmin;
import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContext;
import java.time.Duration;
-import java.util.List;
import java.util.Set;
/**
@@ -41,10 +40,9 @@ public interface NodeAdmin {
Duration subsystemFreezeDuration();
/**
- * Stop services on these nodes
- * @param nodes List of hostnames to suspend
+ * Stop all services on these nodes
*/
- void stopNodeAgentServices(List<String> nodes);
+ void stopNodeAgentServices();
/**
* Start node-admin schedulers.
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 caffe5ef2f1..ef9520969af 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
@@ -15,7 +15,6 @@ import java.time.Clock;
import java.time.Duration;
import java.time.Instant;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -157,12 +156,11 @@ public class NodeAdminImpl implements NodeAdmin {
}
@Override
- public void stopNodeAgentServices(List<String> hostnames) {
+ public void stopNodeAgentServices() {
// Each container may spend 1-1:30 minutes stopping
- hostnames.parallelStream()
- .filter(nodeAgentWithSchedulerByHostname::containsKey)
- .map(nodeAgentWithSchedulerByHostname::get)
- .forEach(NodeAgentWithScheduler::stopForHostSuspension);
+ nodeAgentWithSchedulerByHostname.values()
+ .parallelStream()
+ .forEach(NodeAgentWithScheduler::stopForHostSuspension);
}
@Override
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 58ca4ae3f41..c24b2261f42 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
@@ -150,7 +150,7 @@ public class NodeAdminStateUpdater {
// The node agent services are stopped by this thread, which is OK only
// because the node agents are frozen (see above).
- nodeAdmin.stopNodeAgentServices(nodesInActiveState);
+ nodeAdmin.stopNodeAgentServices();
break;
default:
throw new IllegalStateException("Unknown wanted state " + wantedState);
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
index 4a678597e41..8ee3a95744b 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
@@ -102,7 +102,7 @@ public class NodeAdminStateUpdaterTest {
// At this point orchestrator will say its OK to suspend, but something goes wrong when we try to stop services
final String exceptionMessage = "Failed to stop services";
verify(orchestrator, times(0)).suspend(eq(hostHostname.value()), eq(suspendHostnames));
- doThrow(new RuntimeException(exceptionMessage)).doNothing().when(nodeAdmin).stopNodeAgentServices(eq(activeHostnames));
+ doThrow(new RuntimeException(exceptionMessage)).doNothing().when(nodeAdmin).stopNodeAgentServices();
assertConvergeError(SUSPENDED, exceptionMessage);
verify(orchestrator, times(1)).suspend(eq(hostHostname.value()), eq(suspendHostnames));
// Make sure we dont roll back if we fail to stop services - we will try to stop again next tick