aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2023-02-18 16:50:03 +0100
committerValerij Fredriksen <valerijf@yahooinc.com>2023-02-18 16:50:03 +0100
commit3e0ea33829882d0b7ddbd84e4f1a370a299d97ad (patch)
tree5d172edd07efac7dac1f2139ccf13404abd0025b
parentb436d28e7cfb0d8e0c5123e52835c6a8b23ff78a (diff)
Do not return archiveUri for exclave nodes
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java9
2 files changed, 9 insertions, 4 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index ea22c768e90..fd75644d914 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision;
-import com.yahoo.component.annotation.Inject;
import com.yahoo.component.AbstractComponent;
+import com.yahoo.component.annotation.Inject;
import com.yahoo.concurrent.maintenance.JobControl;
import com.yahoo.config.provision.ApplicationTransaction;
import com.yahoo.config.provision.ClusterSpec;
@@ -134,7 +134,7 @@ public class NodeRepository extends AbstractComponent {
this.infrastructureVersions = new InfrastructureVersions(db);
this.firmwareChecks = new FirmwareChecks(db, clock);
this.containerImages = new ContainerImages(containerImage, tenantContainerImage, tenantGpuContainerImage);
- this.archiveUris = new ArchiveUris(db);
+ this.archiveUris = new ArchiveUris(db, zone);
this.jobControl = new JobControl(new JobControlFlags(db, flagSource));
this.loadBalancers = new LoadBalancers(db);
this.metricsDb = metricsDb;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
index 8b8801d5b53..285365a9c6d 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.hosted.provision.provisioning;
import com.yahoo.config.provision.TenantName;
+import com.yahoo.config.provision.Zone;
import com.yahoo.lang.CachedSupplier;
import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.provision.Node;
@@ -30,10 +31,12 @@ public class ArchiveUris {
private final CuratorDb db;
private final CachedSupplier<Map<TenantName, String>> archiveUris;
+ private final Zone zone;
- public ArchiveUris(CuratorDb db) {
+ public ArchiveUris(CuratorDb db, Zone zone) {
this.db = db;
this.archiveUris = new CachedSupplier<>(db::readArchiveUris, cacheTtl);
+ this.zone = zone;
}
/** Returns the current archive URI for each tenant */
@@ -42,12 +45,14 @@ public class ArchiveUris {
}
/** Returns the archive URI to use for given tenant */
- public Optional<String> archiveUriFor(TenantName tenant) {
+ private Optional<String> archiveUriFor(TenantName tenant) {
return Optional.ofNullable(archiveUris.get().get(tenant));
}
/** Returns the archive URI to use for given node */
public Optional<String> archiveUriFor(Node node) {
+ if (node.cloudAccount().isEnclave(zone)) return Optional.empty(); // TODO (freva): Implement for exclave
+
return node.allocation().map(Allocation::owner)
.flatMap(app -> archiveUriFor(app.tenant())
.map(uri -> {