diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2019-01-11 22:50:25 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerij92@gmail.com> | 2019-01-11 22:50:25 +0100 |
commit | 26490453f3385d6c67ed07be462b10fb41cc5363 (patch) | |
tree | af11d84ec99e8cfe8f796fbb25258b5de71f47f4 /node-admin/src | |
parent | 3fb8c960a2121922cd1a4c36de9597e7440d71fd (diff) |
Check state in orchestratorSuspendNode()
Diffstat (limited to 'node-admin/src')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java | 10 |
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()); } |