aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2022-11-23 11:08:27 +0100
committerGitHub <noreply@github.com>2022-11-23 11:08:27 +0100
commitc173d345f3cc0fa90dbf6bbcf7a7f3b008015df8 (patch)
tree58821d0bcb6ecb5115f14dc763ba8c90243f350e /node-repository
parente03f1e82952dbdb801e737de41b285c0fa74c3f9 (diff)
parent2536fce055383d26043590e9ef2bcc099948c9a8 (diff)
Merge pull request #24963 from vespa-engine/mpolden/negative-gpu
Allow negative GPU resources
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTest.java25
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java3
2 files changed, 24 insertions, 4 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTest.java
index 04b260b356d..e0301d0c329 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicProvisioningTest.java
@@ -219,7 +219,7 @@ public class DynamicProvisioningTest {
}
@Test
- public void test_capacity_is_in_advertised_amounts() {
+ public void capacity_is_in_advertised_amounts() {
int memoryTax = 3;
List<Flavor> flavors = List.of(new Flavor("2x",
new NodeResources(2, 17, 200, 10, fast, remote)));
@@ -306,7 +306,7 @@ public class DynamicProvisioningTest {
}
@Test
- public void test_changing_limits() {
+ public void changing_limits() {
int memoryTax = 3;
List<Flavor> flavors = List.of(new Flavor("1x", new NodeResources(1, 10 - memoryTax, 100, 0.1, fast, remote)),
new Flavor("2x", new NodeResources(2, 20 - memoryTax, 200, 0.1, fast, remote)),
@@ -380,7 +380,7 @@ public class DynamicProvisioningTest {
}
@Test
- public void test_changing_storage_type() {
+ public void changing_storage_type() {
int memoryTax = 3;
List<Flavor> flavors = List.of(new Flavor("2x", new NodeResources(2, 20 - memoryTax, 200, 0.1, fast, remote)),
new Flavor("2xl", new NodeResources(2, 20 - memoryTax, 200, 0.1, fast, local)),
@@ -413,7 +413,7 @@ public class DynamicProvisioningTest {
}
@Test
- public void test_any_disk_prefers_remote_for_container() {
+ public void any_disk_prefers_remote_for_container() {
int memoryTax = 3;
int localDiskTax = 55;
// Disk tax is not included in flavor resources but memory tax is
@@ -441,6 +441,23 @@ public class DynamicProvisioningTest {
app1, cluster1);
}
+ @Test
+ public void gpu_host() {
+ List<Flavor> flavors = List.of(new Flavor("gpu", new NodeResources(4, 16, 125, 10, fast, local,
+ Architecture.x86_64, new NodeResources.GpuResources(1, 16))));
+ ProvisioningTester tester = new ProvisioningTester.Builder().zone(zone)
+ .flavors(flavors)
+ .hostProvisioner(new MockHostProvisioner(flavors, zone.cloud()))
+ .nameResolver(nameResolver)
+ .build();
+ NodeResources resources = new NodeResources(4, 16, 125, 0.3,
+ NodeResources.DiskSpeed.any, NodeResources.StorageType.any,
+ NodeResources.Architecture.x86_64, new NodeResources.GpuResources(1, 16));
+ tester.prepare(ProvisioningTester.applicationId(), ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("id1"))
+ .vespaVersion("8.0").build(),
+ 2, 1, resources);
+ }
+
private void prepareAndActivate(ApplicationId application, ClusterSpec clusterSpec, int nodes, int groups, NodeResources resources) {
List<HostSpec> prepared = tester.prepare(application, clusterSpec, nodes, groups, resources);
NodeList provisionedHosts = tester.nodeRepository().nodes().list(Node.State.provisioned).nodeType(NodeType.host);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
index 949ed8ffbcb..2ea8d95bc9d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
@@ -731,6 +731,9 @@ public class ProvisioningTester {
flavor.bandwidth(resources.bandwidthGbps() * 1000);
flavor.fastDisk(resources.diskSpeed().compatibleWith(NodeResources.DiskSpeed.fast));
flavor.remoteStorage(resources.storageType().compatibleWith(NodeResources.StorageType.remote));
+ flavor.architecture(resources.architecture().toString());
+ flavor.gpuCount(resources.gpuResources().count());
+ flavor.gpuMemoryGb(resources.gpuResources().memoryGb());
return flavor;
}