summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2016-11-15 11:01:39 +0100
committerfreva <valerijf@yahoo-inc.com>2016-11-15 11:01:39 +0100
commitf045e24d8c973c4106d80366d3e72b5263baa895 (patch)
treeb2f9fa54a76a50aee89088428c856e6626586446 /docker-api
parentcf6a185a17988a536aca2d5d5ab2ca590f42153e (diff)
Fix adding/dropping capabilities in CreateContainerCommandImpl
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/CreateContainerCommandImpl.java17
1 files changed, 10 insertions, 7 deletions
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 de0fd439429..015395bfd48 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
@@ -5,6 +5,7 @@ import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.command.CreateContainerCmd;
import com.github.dockerjava.api.exception.DockerException;
import com.github.dockerjava.api.model.Bind;
+import com.github.dockerjava.api.model.Capability;
import com.github.dockerjava.api.model.Ulimit;
import java.net.Inet6Address;
@@ -35,8 +36,8 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
private Optional<String> ipv4Address = Optional.empty();
private Optional<String> ipv6Address = Optional.empty();
private Optional<String[]> entrypoint = Optional.empty();
- private Set<String> addCapabilities = new HashSet<>();
- private Set<String> dropCapabilities = new HashSet<>();
+ private Set<Capability> addCapabilities = new HashSet<>();
+ private Set<Capability> dropCapabilities = new HashSet<>();
CreateContainerCommandImpl(DockerClient docker,
DockerImage dockerImage,
@@ -62,13 +63,13 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
@Override
public Docker.CreateContainerCommand withAddCapability(String capabilityName) {
- addCapabilities.add(capabilityName);
+ addCapabilities.add(Capability.valueOf(capabilityName));
return this;
}
@Override
public Docker.CreateContainerCommand withDropCapability(String capabilityName) {
- dropCapabilities.add(capabilityName);
+ dropCapabilities.add(Capability.valueOf(capabilityName));
return this;
}
@@ -141,7 +142,9 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
.withLabels(labels)
.withEnv(environmentAssignments)
.withBinds(volumeBinds)
- .withUlimits(ulimits);
+ .withUlimits(ulimits)
+ .withCapAdd(new ArrayList<>(addCapabilities))
+ .withCapDrop(new ArrayList<>(dropCapabilities));
if (memoryInB.isPresent()) containerCmd = containerCmd.withMemory(memoryInB.get());
if (networkMode.isPresent()) containerCmd = containerCmd.withNetworkMode(networkMode.get());
@@ -171,8 +174,8 @@ class CreateContainerCommandImpl implements Docker.CreateContainerCommand {
List<String> ulimitList = ulimits.stream()
.map(ulimit -> ulimit.getName() + "=" + ulimit.getSoft() + ":" + ulimit.getHard())
.collect(Collectors.toList());
- List<String> addCapabilitiesList = new ArrayList<>(addCapabilities);
- List<String> dropCapabilitiesList = new ArrayList<>(dropCapabilities);
+ List<String> addCapabilitiesList = addCapabilities.stream().map(Enum::toString).collect(Collectors.toList());
+ List<String> dropCapabilitiesList = dropCapabilities.stream().map(Enum::toString).collect(Collectors.toList());
return "--name " + containerName.asString() + " "
+ "--hostname " + hostName + " "