summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-02-20 18:15:04 +0100
committerHarald Musum <musum@oath.com>2018-02-20 18:15:04 +0100
commit1efaac196459bc9506021dc3d09fe723649f37a0 (patch)
tree70bc0cac263476b7b721144e9bde79e87409d6da /docker-api
parent4d6c845184216e64ce3c08cf08042f43438e338a (diff)
Split out createContainer() into its own method
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Docker.java4
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java12
2 files changed, 15 insertions, 1 deletions
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 e006d5aca4c..04d4628d576 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
@@ -50,7 +50,9 @@ public interface Docker {
}
Optional<ContainerStats> getContainerStats(ContainerName containerName);
-
+
+ void createContainer(CreateContainerCommand createContainerCommand);
+
void startContainer(ContainerName containerName);
void stopContainer(ContainerName containerName);
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 a72865e023a..e81c6325922 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
@@ -340,6 +340,18 @@ public class DockerImpl implements Docker {
}
@Override
+ public void createContainer(CreateContainerCommand createContainerCommand) {
+ try {
+ dockerClient.execCreateCmd(createContainerCommand.toString());
+ } catch (NotModifiedException ignored) {
+ // If is already created, ignore
+ } catch (RuntimeException e) {
+ numberOfDockerDaemonFails.add();
+ throw new DockerException("Failed to create container '" + createContainerCommand.toString() + "'", e);
+ }
+ }
+
+ @Override
public void startContainer(ContainerName containerName) {
try {
dockerClient.startContainerCmd(containerName.asString()).exec();