summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorvalerijf <valerijf@yahoo-inc.com>2016-10-19 11:29:14 +0200
committervalerijf <valerijf@yahoo-inc.com>2016-10-19 11:29:14 +0200
commit21afbf4d27cda89c6925462a5dbf93dd8732b32b (patch)
treebaba0f581d93b462c1acfd857e5ee76722f07d44 /docker-api
parent4b70400719ed65fd8ade0b1ce00fef41fcad0480 (diff)
Added more parameters to DockerConfig to easily set testing options
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java24
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java5
-rw-r--r--docker-api/src/main/resources/configdefinitions/docker.def6
3 files changed, 19 insertions, 16 deletions
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 9b507ad3599..464c79be874 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
@@ -54,14 +54,9 @@ public class DockerImpl implements Docker {
private static final String LABEL_NAME_MANAGEDBY = "com.yahoo.vespa.managedby";
private static final String LABEL_VALUE_MANAGEDBY = "node-admin";
- private static final int SECONDS_TO_WAIT_BEFORE_KILLING = 10;
+ private final int SECONDS_TO_WAIT_BEFORE_KILLING;
private static final String FRAMEWORK_CONTAINER_PREFIX = "/";
- private static final int DOCKER_MAX_PER_ROUTE_CONNECTIONS = 10;
- private static final int DOCKER_MAX_TOTAL_CONNECTIONS = 100;
- private static final int DOCKER_CONNECT_TIMEOUT_MILLIS = (int) TimeUnit.SECONDS.toMillis(100);
- private static final int DOCKER_READ_TIMEOUT_MILLIS = (int) TimeUnit.MINUTES.toMillis(30);
-
public static final String DOCKER_CUSTOM_MACVLAN_NETWORK_NAME = "vespa-macvlan";
public final Object monitor = new Object();
@@ -77,15 +72,17 @@ public class DockerImpl implements Docker {
// For testing
DockerImpl(final DockerClient dockerClient) {
this.dockerClient = dockerClient;
+ this.SECONDS_TO_WAIT_BEFORE_KILLING = 10;
}
DockerImpl(
final DockerConfig config,
boolean fallbackTo123OnErrors,
boolean trySetupNetwork,
- int dockerConnectTimeoutMillis,
MetricReceiverWrapper metricReceiverWrapper) {
- initDockerConnection(config, dockerConnectTimeoutMillis, fallbackTo123OnErrors);
+ SECONDS_TO_WAIT_BEFORE_KILLING = config.secondsToWaitBeforeKillingContainer();
+
+ initDockerConnection(config, fallbackTo123OnErrors);
setMetrics(metricReceiverWrapper);
if (trySetupNetwork) {
@@ -103,7 +100,6 @@ public class DockerImpl implements Docker {
config,
true, /* fallback to 1.23 on errors */
true, /* try setup network */
- DOCKER_CONNECT_TIMEOUT_MILLIS /* dockerConnectTimeoutMillis */,
metricReceiver);
}
@@ -501,12 +497,12 @@ public class DockerImpl implements Docker {
}
}
- private void initDockerConnection(final DockerConfig config, int connectTimeoutMs, boolean fallbackTo123orErrors) {
+ private void initDockerConnection(final DockerConfig config, boolean fallbackTo123orErrors) {
JerseyDockerCmdExecFactory dockerFactory = new JerseyDockerCmdExecFactory()
- .withMaxPerRouteConnections(DOCKER_MAX_PER_ROUTE_CONNECTIONS)
- .withMaxTotalConnections(DOCKER_MAX_TOTAL_CONNECTIONS)
- .withConnectTimeout(connectTimeoutMs)
- .withReadTimeout(DOCKER_READ_TIMEOUT_MILLIS);
+ .withMaxPerRouteConnections(config.maxPerRouteConnections())
+ .withMaxTotalConnections(config.maxTotalConnections())
+ .withConnectTimeout(config.connectTimeoutMillis())
+ .withReadTimeout(config.readTimeoutMillis());
RemoteApiVersion remoteApiVersion;
try {
remoteApiVersion = RemoteApiVersion.parseConfig(DockerClientImpl.getInstance(
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java
index 63f333af7ac..fadfbc2d9bd 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java
@@ -20,7 +20,9 @@ public class DockerTestUtils {
.caCertPath( operatingSystem == OS.Mac_OS_X ? prefix + "ca.pem" : "")
.clientCertPath(operatingSystem == OS.Mac_OS_X ? prefix + "cert.pem" : "")
.clientKeyPath( operatingSystem == OS.Mac_OS_X ? prefix + "key.pem" : "")
- .uri( operatingSystem == OS.Mac_OS_X ? "tcp://192.168.99.100:2376" : "tcp://localhost:2376"));
+ .uri( operatingSystem == OS.Mac_OS_X ? "tcp://192.168.99.100:2376" : "tcp://localhost:2376")
+ .connectTimeoutMillis(100)
+ .secondsToWaitBeforeKillingContainer(0));
private static DockerImpl docker;
public static boolean dockerDaemonIsPresent() {
@@ -46,7 +48,6 @@ public class DockerTestUtils {
dockerConfig,
false, /* fallback to 1.23 on errors */
false, /* try setup network */
- 100 /* dockerConnectTimeoutMillis */,
new MetricReceiverWrapper(MetricReceiver.nullImplementation));
}
diff --git a/docker-api/src/main/resources/configdefinitions/docker.def b/docker-api/src/main/resources/configdefinitions/docker.def
index 85914f1a9d8..d7fd8f47d40 100644
--- a/docker-api/src/main/resources/configdefinitions/docker.def
+++ b/docker-api/src/main/resources/configdefinitions/docker.def
@@ -5,3 +5,9 @@ caCertPath string default = ""
clientCertPath string default = ""
clientKeyPath string default = ""
uri string default = "unix:///host/var/run/docker.sock"
+
+secondsToWaitBeforeKillingContainer int default = 10
+maxPerRouteConnections int default = 10
+maxTotalConnections int default = 100
+connectTimeoutMillis int default = 100000 # 100 sec
+readTimeoutMillis int default = 1800000 # 30 min \ No newline at end of file