diff options
author | valerijf <valerijf@yahoo-inc.com> | 2016-10-19 11:29:14 +0200 |
---|---|---|
committer | valerijf <valerijf@yahoo-inc.com> | 2016-10-19 11:29:14 +0200 |
commit | 21afbf4d27cda89c6925462a5dbf93dd8732b32b (patch) | |
tree | baba0f581d93b462c1acfd857e5ee76722f07d44 /docker-api/src | |
parent | 4b70400719ed65fd8ade0b1ce00fef41fcad0480 (diff) |
Added more parameters to DockerConfig to easily set testing options
Diffstat (limited to 'docker-api/src')
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 |