summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2017-11-03 16:57:14 +0100
committerValerij Fredriksen <valerijf@oath.com>2017-11-03 16:57:14 +0100
commit6544e4f0db5a22dae65a3306ee0acc83ba7feaca (patch)
tree64c2e390b7274d3153f1011a46f05d08a5eb41ac /node-admin
parentfe373794642f662d0f11d2f6dab5fc3c8767a9d3 (diff)
Pass ContainerResources from DockerOperations
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java5
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java2
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java16
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/AclMaintainerTest.java2
4 files changed, 8 insertions, 17 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
index f6fd8c3bd18..d3af55cdff5 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java
@@ -5,6 +5,7 @@ import com.yahoo.collections.Pair;
import com.yahoo.system.ProcessExecuter;
import com.yahoo.vespa.hosted.dockerapi.Container;
import com.yahoo.vespa.hosted.dockerapi.ContainerName;
+import com.yahoo.vespa.hosted.dockerapi.ContainerResources;
import com.yahoo.vespa.hosted.dockerapi.Docker;
import com.yahoo.vespa.hosted.dockerapi.DockerImage;
import com.yahoo.vespa.hosted.dockerapi.DockerImpl;
@@ -101,6 +102,7 @@ public class DockerOperationsImpl implements DockerOperations {
String configServers = String.join(",", environment.getConfigServerHosts());
Docker.CreateContainerCommand command = docker.createContainerCommand(
nodeSpec.wantedDockerImage.get(),
+ ContainerResources.from(nodeSpec.minCpuCores, nodeSpec.minMainMemoryAvailableGb),
containerName,
nodeSpec.hostname)
.withManagedBy(MANAGER_NAME)
@@ -122,14 +124,11 @@ public class DockerOperationsImpl implements DockerOperations {
// TODO: Enforce disk constraints
long minMainMemoryAvailableMb = (long) (nodeSpec.minMainMemoryAvailableGb * 1024);
if (minMainMemoryAvailableMb > 0) {
- command.withMemoryInMb(minMainMemoryAvailableMb);
// VESPA_TOTAL_MEMORY_MB is used to make any jdisc container think the machine
// only has this much physical memory (overrides total memory reported by `free -m`).
command.withEnvironment("VESPA_TOTAL_MEMORY_MB", Long.toString(minMainMemoryAvailableMb));
}
- command.withCpuShares((int) Math.round(10 * nodeSpec.minCpuCores));
-
logger.info("Starting new container with args: " + command);
command.create();
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
index 43170c49a33..616a18d2f2f 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImplTest.java
@@ -81,7 +81,7 @@ public class DockerOperationsImplTest {
}
private Container makeContainer(String name, Container.State state, int pid) {
- final Container container = new Container(name + ".fqdn", new DockerImage("mock"),
+ final Container container = new Container(name + ".fqdn", new DockerImage("mock"), null,
new ContainerName(name), state, pid);
when(docker.getContainer(eq(container.name))).thenReturn(Optional.of(container));
return container;
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
index dc111251af7..2cf0f4680a0 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integrationTests/DockerMock.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.node.admin.integrationTests;
import com.yahoo.vespa.hosted.dockerapi.Container;
import com.yahoo.vespa.hosted.dockerapi.ContainerName;
+import com.yahoo.vespa.hosted.dockerapi.ContainerResources;
import com.yahoo.vespa.hosted.dockerapi.Docker;
import com.yahoo.vespa.hosted.dockerapi.DockerImage;
import com.yahoo.vespa.hosted.dockerapi.ProcessResult;
@@ -34,13 +35,14 @@ public class DockerMock implements Docker {
@Override
public CreateContainerCommand createContainerCommand(
DockerImage dockerImage,
+ ContainerResources containerResources,
ContainerName containerName,
String hostName) {
synchronized (monitor) {
callOrderVerifier.add("createContainerCommand with " + dockerImage +
", HostName: " + hostName + ", " + containerName);
containersByContainerName.put(
- containerName, new Container(hostName, dockerImage, containerName, Container.State.RUNNING, 2));
+ containerName, new Container(hostName, dockerImage, containerResources, containerName, Container.State.RUNNING, 2));
}
return new StartContainerCommandMock();
@@ -90,7 +92,7 @@ public class DockerMock implements Docker {
callOrderVerifier.add("stopContainer with " + containerName);
Container container = containersByContainerName.get(containerName);
containersByContainerName.put(containerName,
- new Container(container.hostname, container.image, container.name, Container.State.EXITED, 0));
+ new Container(container.hostname, container.image, container.flavor, container.name, Container.State.EXITED, 0));
}
}
@@ -174,16 +176,6 @@ public class DockerMock implements Docker {
}
@Override
- public CreateContainerCommand withMemoryInMb(long megaBytes) {
- return this;
- }
-
- @Override
- public CreateContainerCommand withCpuShares(int shares) {
- return this;
- }
-
- @Override
public CreateContainerCommand withNetworkMode(String mode) {
return this;
}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/AclMaintainerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/AclMaintainerTest.java
index 9ce48dac55b..a699377b4c3 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/AclMaintainerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/acl/AclMaintainerTest.java
@@ -141,7 +141,7 @@ public class AclMaintainerTest {
private Container makeContainer(String hostname, Container.State state, int pid) {
final ContainerName containerName = new ContainerName(hostname);
- final Container container = new Container(hostname, new DockerImage("mock"),
+ final Container container = new Container(hostname, new DockerImage("mock"), null,
containerName, state, pid);
containers.add(container);
return container;