diff options
Diffstat (limited to 'node-admin')
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; |