summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2017-01-27 17:10:33 +0100
committerfreva <valerijf@yahoo-inc.com>2017-01-27 17:10:33 +0100
commit6e71a4520677efaf47626d1ff5a2b2d1ff3b03e4 (patch)
treedae6bf644270eba4c1490dde830240944812b4fe /docker-api
parent053059888a4d5b790c0943de8cd16d7fcfa89f64 (diff)
Docker always returns pid
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java15
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerInfoImpl.java32
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java9
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java10
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) {