summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon.hallingstad@gmail.com>2021-02-05 11:21:39 +0100
committerGitHub <noreply@github.com>2021-02-05 11:21:39 +0100
commitc02a14cba127201cea4678d70438eacd755d339e (patch)
tree719c4fb0bdcbcc362b4bb0f7614bf50eb7ee6406 /docker-api
parent94741768f28fad8811e1c66e4b02cd7e57fa0200 (diff)
Revert "Generalize updating of CPU limits"
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java11
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerId.java36
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java3
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerEngine.java1
4 files changed, 3 insertions, 48 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
index 9e304e5ef4d..fb979ff639c 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/Container.java
@@ -10,7 +10,6 @@ import java.util.Objects;
*/
// TODO: Move this to node-admin when docker-api module can be removed
public class Container {
- private final ContainerId id;
public final String hostname;
public final DockerImage image;
public final ContainerResources resources;
@@ -19,14 +18,12 @@ public class Container {
public final int pid;
public Container(
- final ContainerId id,
final String hostname,
final DockerImage image,
final ContainerResources resources,
final ContainerName containerName,
final State state,
final int pid) {
- this.id = id;
this.hostname = hostname;
this.image = image;
this.resources = resources;
@@ -35,18 +32,13 @@ public class Container {
this.pid = pid;
}
- public ContainerId id() {
- return id;
- }
-
@Override
public boolean equals(final Object obj) {
if (!(obj instanceof Container)) {
return false;
}
final Container other = (Container) obj;
- return Objects.equals(id, other.id)
- && Objects.equals(hostname, other.hostname)
+ return Objects.equals(hostname, other.hostname)
&& Objects.equals(image, other.image)
&& Objects.equals(resources, other.resources)
&& Objects.equals(name, other.name)
@@ -61,7 +53,6 @@ public class Container {
@Override
public String toString() {
return "Container {"
- + " id=" + id
+ " hostname=" + hostname
+ " image=" + image
+ " resources=" + resources
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerId.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerId.java
deleted file mode 100644
index b86238324f0..00000000000
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerId.java
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-//
-package com.yahoo.vespa.hosted.dockerapi;
-
-import java.util.Objects;
-
-/**
- * The ID of a container.
- *
- * @author hakon
- */
-public class ContainerId {
- private final String id;
-
- public ContainerId(String id) {
- this.id = Objects.requireNonNull(id, "id cannot be null");
- }
-
- @Override
- public String toString() {
- return id;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- ContainerId that = (ContainerId) o;
- return id.equals(that.id);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(id);
- }
-}
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
index 37e265bf411..c61bc3ed919 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/ContainerResources.java
@@ -63,7 +63,8 @@ public class ContainerResources {
return cpus;
}
- /** Returns the CFS CPU quota per {@link #cpuPeriod()}, or -1 if disabled. */
+ // Although docker allows to update cpu quota to 0, this is not a legal value, must be set -1 for unlimited
+ // See: https://github.com/docker/for-linux/issues/558
public int cpuQuota() {
return cpus > 0 ? (int) (cpus * CPU_PERIOD_US) : -1;
}
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerEngine.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerEngine.java
index 3b7b2b8d54c..630efb7990f 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerEngine.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerEngine.java
@@ -286,7 +286,6 @@ public class DockerEngine implements ContainerEngine {
private Stream<Container> asContainer(String container) {
return inspectContainerCmd(container)
.map(response -> new Container(
- new ContainerId(response.getId()),
response.getConfig().getHostName(),
DockerImage.fromString(response.getConfig().getImage()),
containerResourcesFromHostConfig(response.getHostConfig()),