diff options
author | freva <valerijf@yahoo-inc.com> | 2016-11-15 11:01:39 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2016-11-15 11:01:39 +0100 |
commit | f045e24d8c973c4106d80366d3e72b5263baa895 (patch) | |
tree | b2f9fa54a76a50aee89088428c856e6626586446 /docker-api | |
parent | cf6a185a17988a536aca2d5d5ab2ca590f42153e (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.java | 17 |
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 + " " |