diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-09-19 16:08:11 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-09-19 16:08:11 +0200 |
commit | 0ed694943a0b583d7c3ec407b42802fe327c0ad1 (patch) | |
tree | 876309d330ac12a2be9828d238fa4f4973325505 /node-admin | |
parent | 7713ceb71fbf7b1e289aeb66072f15315bb9744e (diff) |
Always try to stop services
Diffstat (limited to 'node-admin')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java index d27034c6f76..9bd3b5c1d82 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java @@ -13,6 +13,7 @@ import com.yahoo.vespa.hosted.dockerapi.Docker; import com.yahoo.vespa.hosted.dockerapi.DockerImage; import com.yahoo.vespa.hosted.dockerapi.DockerNetworkCreator; import com.yahoo.vespa.hosted.dockerapi.ProcessResult; +import com.yahoo.vespa.hosted.dockerapi.exception.ContainerNotFoundException; import com.yahoo.vespa.hosted.node.admin.component.Environment; import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec; import com.yahoo.vespa.hosted.node.admin.nodeagent.ContainerData; @@ -301,7 +302,16 @@ public class DockerOperationsImpl implements DockerOperations { @Override public void trySuspendNode(ContainerName containerName) { - executeCommandInContainer(containerName, nodeProgram, "suspend"); + try { + executeCommandInContainer(containerName, nodeProgram, "suspend"); + } catch (ContainerNotFoundException e) { + throw e; + } catch (RuntimeException e) { + PrefixLogger logger = PrefixLogger.getNodeAgentLogger(DockerOperationsImpl.class, containerName); + // It's bad to continue as-if nothing happened, but on the other hand if we do not proceed to + // remove container, we will not be able to upgrade to fix any problems in the suspend logic! + logger.warning("Failed trying to suspend container " + containerName.asString(), e); + } } @Override |