diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-12-16 13:35:17 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-12-16 13:35:17 +0100 |
commit | 9b1fcd49bb23247eca0dca433065d167c1777b92 (patch) | |
tree | 528eaf5ff495462d03a21710ddc2fb6d1b12b122 /node-repository/src | |
parent | 11d9ae1b4cf3f563e72af00e5c2281be700e76b1 (diff) |
GPU image takes precedence over tenant image
Diffstat (limited to 'node-repository/src')
2 files changed, 5 insertions, 7 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java index 8553172cef3..59dbb0b3241 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java @@ -41,12 +41,10 @@ public class ContainerImages { if (requestedImage.isPresent()) { image = requestedImage.get(); } else if (nodeType == NodeType.tenant) { - if (tenantImage.isPresent()) { - image = tenantImage.get(); - } else if (!node.resources().gpuResources().isZero()) { + if (!node.resources().gpuResources().isZero()) { image = tenantGpuImage.orElseThrow(() -> new IllegalArgumentException(node + " has GPU resources, but there is no GPU container image available")); } else { - image = defaultImage; + image = tenantImage.orElse(defaultImage); } } else { image = defaultImage; diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImagesTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImagesTest.java index 20b299c85bc..bb7ea52ca0e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImagesTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImagesTest.java @@ -38,6 +38,9 @@ public class ContainerImagesTest { assertEquals(defaultImage, images.get(node(NodeType.proxyhost))); // For preload purposes assertEquals(defaultImage, images.get(node(NodeType.proxy))); + // Choose GPU when node has GPU resources + assertEquals(gpuImage, images.get(node(NodeType.tenant, null, true))); + // Tenant node requesting a special image DockerImage requested = DockerImage.fromString("registry.example.com/vespa/special"); assertEquals(requested, images.get(node(NodeType.tenant, requested))); @@ -46,9 +49,6 @@ public class ContainerImagesTest { images = new ContainerImages(defaultImage, Optional.empty(), Optional.of(gpuImage)); assertEquals(defaultImage, images.get(node(NodeType.host))); assertEquals(defaultImage, images.get(node(NodeType.tenant))); - - // Choose GPU when node has GPU resources - assertEquals(gpuImage, images.get(node(NodeType.tenant, null, true))); } private static Node node(NodeType type) { |