summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2019-01-11 22:50:25 +0100
committerValerij Fredriksen <valerij92@gmail.com>2019-01-11 22:50:25 +0100
commit26490453f3385d6c67ed07be462b10fb41cc5363 (patch)
treeaf11d84ec99e8cfe8f796fbb25258b5de71f47f4 /node-admin
parent3fb8c960a2121922cd1a4c36de9597e7440d71fd (diff)
Check state in orchestratorSuspendNode()
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java10
1 files changed, 4 insertions, 6 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
index 7b01f9e3379..1035895d411 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
@@ -335,9 +335,7 @@ public class NodeAgentImpl implements NodeAgent {
context.log(logger, "Will remove container: " + removeReason.get());
if (existingContainer.state.isRunning()) {
- if (context.node().getState() == Node.State.active) {
- orchestratorSuspendNode(context);
- }
+ orchestratorSuspendNode(context);
try {
if (context.node().getState() != Node.State.dirty) {
@@ -373,9 +371,7 @@ public class NodeAgentImpl implements NodeAgent {
context.log(logger, "Container should be running with different resource allocation, wanted: %s, current: %s",
wantedContainerResources, existingContainer.resources);
- if (context.node().getState() == Node.State.active) {
- orchestratorSuspendNode(context);
- }
+ orchestratorSuspendNode(context);
dockerOperations.updateContainer(context, wantedContainerResources);
}
@@ -689,6 +685,8 @@ public class NodeAgentImpl implements NodeAgent {
// to allow the node admin to make decisions that depend on the docker image. Or, each docker image
// needs to contain routines for drain and suspend. For many images, these can just be dummy routines.
private void orchestratorSuspendNode(NodeAgentContext context) {
+ if (context.node().getState() != Node.State.active) return;
+
context.log(logger, "Ask Orchestrator for permission to suspend node");
orchestrator.suspend(context.hostname().value());
}