From 26490453f3385d6c67ed07be462b10fb41cc5363 Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Fri, 11 Jan 2019 22:50:25 +0100 Subject: Check state in orchestratorSuspendNode() --- .../yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'node-admin/src') 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()); } -- cgit v1.2.3