aboutsummaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2018-09-18 21:28:35 +0200
committerValerij Fredriksen <valerij92@gmail.com>2018-09-18 21:28:35 +0200
commit973c61a9a36d4025a22da53c9ed7efee5f0bfb17 (patch)
treeddbbc27a88a539ab54d941608a4f29eb0ae2447d /docker-api
parentc7cd0a1ea80465e20fd453c1bbe3027ae17ffb0e (diff)
Add getters to ContainerResources
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java12
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java15
2 files changed, 19 insertions, 8 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
index 4c538d6a194..346223d0e7e 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
@@ -7,8 +7,8 @@ package com.yahoo.vespa.hosted.dockerapi;
public class ContainerResources {
public static final ContainerResources UNLIMITED = ContainerResources.from(0, 0);
- public final int cpuShares;
- public final long memoryBytes;
+ private final int cpuShares;
+ private final long memoryBytes;
ContainerResources(int cpuShares, long memoryBytes) {
this.cpuShares = cpuShares;
@@ -21,6 +21,14 @@ public class ContainerResources {
(long) ((1L << 30) * memoryGb));
}
+ public int cpuShares() {
+ return cpuShares;
+ }
+
+ public long memoryBytes() {
+ return memoryBytes;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
index d95f7b7b8e1..213e6b5b8b6 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java
@@ -24,6 +24,7 @@ import java.util.stream.IntStream;
import java.util.stream.Stream;
class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
+
private final DockerClient docker;
private final DockerImage dockerImage;
private final ContainerResources containerResources;
@@ -148,8 +149,8 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
final CreateContainerCmd containerCmd = docker
.createContainerCmd(dockerImage.asString())
- .withCpuShares(containerResources.cpuShares)
- .withMemory(containerResources.memoryBytes)
+ .withCpuShares(containerResources.cpuShares())
+ .withMemory(containerResources.memoryBytes())
.withName(containerName.asString())
.withHostName(hostName)
.withLabels(labels)
@@ -202,11 +203,11 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
.skip(1)
.collect(Collectors.joining(" "));
- return String.join(" ",
+ return Stream.of(
"--name " + containerName.asString(),
"--hostname " + hostName,
- "--cpu-shares " + containerResources.cpuShares,
- "--memory " + containerResources.memoryBytes,
+ "--cpu-shares " + containerResources.cpuShares(),
+ "--memory " + containerResources.memoryBytes(),
toRepeatedOption("--label", labelList),
toRepeatedOption("--ulimit", ulimitList),
toRepeatedOption("--env", environmentAssignments),
@@ -219,7 +220,9 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
toOptionalOption("--entrypoint", entrypointExecuteable),
toFlagOption("--privileged", privileged),
dockerImage.asString(),
- entrypointArgs);
+ entrypointArgs)
+ .filter(s -> !s.isEmpty())
+ .collect(Collectors.joining(" "));
}
/**