summaryrefslogtreecommitdiffstats
path: root/node-repository/src
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-12-16 13:35:17 +0100
committerMartin Polden <mpolden@mpolden.no>2022-12-16 13:35:17 +0100
commit9b1fcd49bb23247eca0dca433065d167c1777b92 (patch)
tree528eaf5ff495462d03a21710ddc2fb6d1b12b122 /node-repository/src
parent11d9ae1b4cf3f563e72af00e5c2281be700e76b1 (diff)
GPU image takes precedence over tenant image
Diffstat (limited to 'node-repository/src')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImages.java6
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ContainerImagesTest.java6
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) {