diff options
author | freva <valerijf@yahoo-inc.com> | 2017-01-27 17:10:33 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2017-01-27 17:10:33 +0100 |
commit | 6e71a4520677efaf47626d1ff5a2b2d1ff3b03e4 (patch) | |
tree | dae6bf644270eba4c1490dde830240944812b4fe /docker-api | |
parent | 053059888a4d5b790c0943de8cd16d7fcfa89f64 (diff) |
Docker always returns pid
Diffstat (limited to 'docker-api')
4 files changed, 5 insertions, 61 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java index e0c19a66111..aa35ee9bc06 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.dockerapi; import java.util.Objects; -import java.util.Optional; /** * @author stiankri @@ -11,24 +10,19 @@ public class Container { public final String hostname; public final DockerImage image; public final ContainerName name; + public final int pid; public final boolean isRunning; - public final Optional<Integer> pid; public Container( final String hostname, final DockerImage image, final ContainerName containerName, - final boolean isRunning, - final Optional<Integer> pid) { + final int pid) { this.hostname = hostname; this.image = image; this.name = containerName; - this.isRunning = isRunning; this.pid = pid; - } - - public Container(String hostname, DockerImage image, ContainerName name, boolean isRunning) { - this(hostname, image, name, isRunning, Optional.empty()); + this.isRunning = pid != 0; } @Override @@ -40,13 +34,12 @@ public class Container { return Objects.equals(hostname, other.hostname) && Objects.equals(image, other.image) && Objects.equals(name, other.name) - && Objects.equals(isRunning, other.isRunning) && Objects.equals(pid, other.pid); } @Override public int hashCode() { - return Objects.hash(hostname, image, name, isRunning, pid); + return Objects.hash(hostname, image, name, pid); } @Override diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerInfoImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerInfoImpl.java deleted file mode 100644 index 29a0fb9fffc..00000000000 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerInfoImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.dockerapi; - -import com.github.dockerjava.api.command.InspectContainerResponse; - -import java.util.Optional; - -class ContainerInfoImpl implements Docker.ContainerInfo { - - private final ContainerName containerName; - private final InspectContainerResponse inspectContainerResponse; - - ContainerInfoImpl(ContainerName containerName, InspectContainerResponse inspectContainerResponse) { - this.containerName = containerName; - this.inspectContainerResponse = inspectContainerResponse; - } - - @Override - public Optional<Integer> getPid() { - InspectContainerResponse.ContainerState state = inspectContainerResponse.getState(); - if (state.getRunning()) { - Integer containerPid = state.getPid(); - if (containerPid == null) { - throw new RuntimeException("PID of running container " + containerName + " is null"); - } - - return Optional.of(containerPid); - } - - return Optional.empty(); - } -} diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java index 6468e14fc64..ba22ddf9272 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java @@ -34,15 +34,6 @@ public interface Docker { ContainerName containerName, String hostName); - - interface ContainerInfo { - /** returns Optional.empty() if not running. */ - Optional<Integer> getPid(); - } - - Optional<ContainerInfo> inspectContainer(ContainerName containerName); - - interface ContainerStats { Map<String, Object> getNetworks(); Map<String, Object> getCpuStats(); diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java index 11ba5f42c52..6f51fbd1ad8 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java @@ -276,12 +276,6 @@ public class DockerImpl implements Docker { } @Override - public Optional<ContainerInfo> inspectContainer(ContainerName containerName) { - return inspectContainerCmd(containerName.asString()) - .map(response -> new ContainerInfoImpl(containerName, response)); - } - - @Override public Optional<ContainerStats> getContainerStats(ContainerName containerName) { try { DockerStatsCallback statsCallback = dockerClient.statsCmd(containerName.asString()).exec(new DockerStatsCallback()); @@ -361,8 +355,7 @@ public class DockerImpl implements Docker { response.getConfig().getHostName(), new DockerImage(response.getConfig().getImage()), new ContainerName(decode(response.getName())), - response.getState().getRunning(), - Optional.ofNullable(response.getState().getPid()) + response.getState().getPid() )) .map(Stream::of) .orElse(Stream.empty()); @@ -371,7 +364,6 @@ public class DockerImpl implements Docker { private boolean isManagedBy(final com.github.dockerjava.api.model.Container container, String manager) { final Map<String, String> labels = container.getLabels(); return labels != null && manager.equals(labels.get(LABEL_NAME_MANAGEDBY)); - } private String decode(String encodedContainerName) { |