diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-06-12 10:58:31 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-06-12 10:58:31 +0200 |
commit | aab056aa72ef97c0a16661b994673bf4328e3b77 (patch) | |
tree | e1bda95267907dbaa57407e94e505896ae1a77bc /node-admin | |
parent | 4b044d83f36a296afec6778eff38f76395a36a5e (diff) |
List containers on DockerOperations
Diffstat (limited to 'node-admin')
3 files changed, 20 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperations.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperations.java index 6b3c09e812a..750129749ea 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperations.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperations.java @@ -3,12 +3,14 @@ package com.yahoo.vespa.hosted.node.admin.docker; import com.yahoo.config.provision.DockerImage; import com.yahoo.vespa.hosted.dockerapi.Container; +import com.yahoo.vespa.hosted.dockerapi.ContainerLite; import com.yahoo.vespa.hosted.dockerapi.ContainerResources; import com.yahoo.vespa.hosted.dockerapi.ContainerStats; import com.yahoo.vespa.hosted.dockerapi.ProcessResult; import com.yahoo.vespa.hosted.node.admin.nodeagent.ContainerData; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContext; +import java.util.List; import java.util.Optional; public interface DockerOperations { @@ -48,4 +50,6 @@ public interface DockerOperations { void stopServices(NodeAgentContext context); Optional<ContainerStats> getContainerStats(NodeAgentContext context); + + List<ContainerLite> listContainers(); } 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 2f5d6ae60d8..7c34f4d983f 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 @@ -7,6 +7,7 @@ import com.yahoo.config.provision.DockerImage; import com.yahoo.config.provision.NodeType; import com.yahoo.system.ProcessExecuter; import com.yahoo.vespa.hosted.dockerapi.Container; +import com.yahoo.vespa.hosted.dockerapi.ContainerLite; import com.yahoo.vespa.hosted.dockerapi.ContainerResources; import com.yahoo.vespa.hosted.dockerapi.ContainerStats; import com.yahoo.vespa.hosted.dockerapi.Docker; @@ -15,6 +16,7 @@ import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeMembers import com.yahoo.vespa.hosted.node.admin.nodeagent.ContainerData; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgentContext; import com.yahoo.vespa.hosted.node.admin.task.util.network.IPAddresses; +import com.yahoo.vespa.hosted.node.admin.task.util.network.IPAddressesImpl; import java.io.IOException; import java.net.Inet6Address; @@ -47,6 +49,10 @@ public class DockerOperationsImpl implements DockerOperations { private final ProcessExecuter processExecuter; private final IPAddresses ipAddresses; + public DockerOperationsImpl(Docker docker) { + this(docker, new ProcessExecuter(), new IPAddressesImpl()); + } + public DockerOperationsImpl(Docker docker, ProcessExecuter processExecuter, IPAddresses ipAddresses) { this.docker = docker; this.processExecuter = processExecuter; @@ -323,6 +329,11 @@ public class DockerOperationsImpl implements DockerOperations { command.withSharedVolume(Paths.get("/var/zpe"), context.pathInNodeUnderVespaHome("var/zpe")); } + @Override + public List<ContainerLite> listContainers() { + return docker.listAllContainers(); + } + /** Returns whether given nodeType is a Docker host for infrastructure nodes */ private static boolean isInfrastructureHost(NodeType nodeType) { return nodeType == NodeType.config || diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java index 31e64dc886f..7ffb986f9a3 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.node.admin.integrationTests; import com.yahoo.config.provision.DockerImage; import com.yahoo.vespa.hosted.dockerapi.Container; +import com.yahoo.vespa.hosted.dockerapi.ContainerLite; import com.yahoo.vespa.hosted.dockerapi.ContainerName; import com.yahoo.vespa.hosted.dockerapi.ContainerResources; import com.yahoo.vespa.hosted.dockerapi.ContainerStats; @@ -91,6 +92,10 @@ public class DockerMock implements Docker { return new ProcessResult(0, null, ""); } + @Override + public List<ContainerLite> listAllContainers() { + return List.of(); + } public class StartContainerCommandMock implements CreateContainerCommand { |