diff options
author | gjoranv <gjoranv@gmail.com> | 2023-02-18 23:08:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-18 23:08:50 +0100 |
commit | 5a45774d4fd321c59f854cc958d3375355eaff91 (patch) | |
tree | c48cd7eef995082220e63c352084e67298a7d0ff | |
parent | a1b05c4c334b354c634aa76ea3a7a55361789a61 (diff) | |
parent | 3e0ea33829882d0b7ddbd84e4f1a370a299d97ad (diff) |
Merge pull request #26101 from vespa-engine/freva/skip-exclave
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 -> { |