aboutsummaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2016-12-22 15:15:00 +0100
committerfreva <valerijf@yahoo-inc.com>2016-12-22 15:15:00 +0100
commit4696062676578d97dd601dac817a531a0877cc01 (patch)
tree69f4505d7288f95e901019ec14093eb6b4a1f5a6 /docker-api
parent68d7de4fa3a941a97202df1163bd5a0b009128c2 (diff)
Disable docker image GC locally
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java37
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerTestUtils.java4
-rw-r--r--docker-api/src/main/resources/configdefinitions/docker.def1
3 files changed, 15 insertions, 27 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 81913bfd6cf..dd70d73bf10 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
@@ -55,23 +55,20 @@ import static com.yahoo.vespa.hosted.dockerapi.DockerNetworkCreator.NetworkAddre
public class DockerImpl implements Docker {
private static final Logger logger = Logger.getLogger(DockerImpl.class.getName());
+ public static final String DOCKER_CUSTOM_MACVLAN_NETWORK_NAME = "vespa-macvlan";
static final String LABEL_NAME_MANAGEDBY = "com.yahoo.vespa.managedby";
private final int SECONDS_TO_WAIT_BEFORE_KILLING;
private static final String FRAMEWORK_CONTAINER_PREFIX = "/";
+ private Optional<DockerImageGarbageCollector> dockerImageGC = Optional.empty();
+ private CounterWrapper numberOfDockerDaemonFails;
- public static final String DOCKER_CUSTOM_MACVLAN_NETWORK_NAME = "vespa-macvlan";
-
- public final Object monitor = new Object();
+ private final Object monitor = new Object();
@GuardedBy("monitor")
private final Map<DockerImage, CompletableFuture<DockerImage>> scheduledPulls = new HashMap<>();
// Exposed for testing.
- DockerClient dockerClient;
-
- private CounterWrapper numberOfDockerDaemonFails;
-
- private Optional<DockerImageGarbageCollector> dockerImageGC = Optional.empty();
+ final DockerClient dockerClient;
// For testing
DockerImpl(final DockerClient dockerClient) {
@@ -82,25 +79,11 @@ public class DockerImpl implements Docker {
DockerImpl(
final DockerConfig config,
boolean fallbackTo123OnErrors,
- boolean trySetupNetwork,
MetricReceiverWrapper metricReceiverWrapper) {
- if (config.imageGCEnabled()) {
- Duration minAgeToDelete = Duration.ofMinutes(config.imageGCMinTimeToLiveMinutes());
- dockerImageGC = Optional.of(new DockerImageGarbageCollector(minAgeToDelete));
- }
-
SECONDS_TO_WAIT_BEFORE_KILLING = config.secondsToWaitBeforeKillingContainer();
dockerClient = initDockerConnection(config, fallbackTo123OnErrors);
setMetrics(metricReceiverWrapper);
-
- if (trySetupNetwork) {
- try {
- setupDockerNetworkIfNeeded();
- } catch (Exception e) {
- throw new RuntimeException("Could not setup docker network", e);
- }
- }
}
@Inject
@@ -108,8 +91,16 @@ public class DockerImpl implements Docker {
this(
config,
true, /* fallback to 1.23 on errors */
- true, /* try setup network */
metricReceiver);
+
+ Duration minAgeToDelete = Duration.ofMinutes(config.imageGCMinTimeToLiveMinutes());
+ dockerImageGC = Optional.of(new DockerImageGarbageCollector(minAgeToDelete));
+
+ try {
+ setupDockerNetworkIfNeeded();
+ } catch (Exception e) {
+ throw new RuntimeException("Could not setup docker network", e);
+ }
}
static DefaultDockerClientConfig.Builder buildDockerClientConfig(DockerConfig config) {
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 5c4a721b092..b02f7f17686 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
@@ -27,8 +27,7 @@ public class DockerTestUtils {
.clientKeyPath( operatingSystem == OS.Mac_OS_X ? prefix + "key.pem" : "")
.uri( operatingSystem == OS.Mac_OS_X ? "tcp://192.168.99.100:2376" : "tcp://localhost:2376")
.connectTimeoutMillis(100)
- .secondsToWaitBeforeKillingContainer(0)
- .imageGCEnabled(false));
+ .secondsToWaitBeforeKillingContainer(0));
private static DockerImpl docker;
public static boolean dockerDaemonIsPresent() {
@@ -53,7 +52,6 @@ public class DockerTestUtils {
docker = new DockerImpl(
dockerConfig,
false, /* fallback to 1.23 on errors */
- false, /* try setup network */
new MetricReceiverWrapper(MetricReceiver.nullImplementation));
createDockerTestNetworkIfNeeded(docker);
}
diff --git a/docker-api/src/main/resources/configdefinitions/docker.def b/docker-api/src/main/resources/configdefinitions/docker.def
index aa0e96512a9..1914aa0e9ad 100644
--- a/docker-api/src/main/resources/configdefinitions/docker.def
+++ b/docker-api/src/main/resources/configdefinitions/docker.def
@@ -12,5 +12,4 @@ maxTotalConnections int default = 100
connectTimeoutMillis int default = 100000 # 100 sec
readTimeoutMillis int default = 1800000 # 30 min
-imageGCEnabled bool default = true
imageGCMinTimeToLiveMinutes int default = 45 \ No newline at end of file