diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2023-02-18 16:50:03 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2023-02-18 16:50:03 +0100 |
commit | 3e0ea33829882d0b7ddbd84e4f1a370a299d97ad (patch) | |
tree | 5d172edd07efac7dac1f2139ccf13404abd0025b | |
parent | b436d28e7cfb0d8e0c5123e52835c6a8b23ff78a (diff) |
Do not return archiveUri for exclave nodes
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java | 4 | ||||
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java | 9 |
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 -> { |