From 3e0ea33829882d0b7ddbd84e4f1a370a299d97ad Mon Sep 17 00:00:00 2001 From: Valerij Fredriksen Date: Sat, 18 Feb 2023 16:50:03 +0100 Subject: Do not return archiveUri for exclave nodes --- .../java/com/yahoo/vespa/hosted/provision/NodeRepository.java | 4 ++-- .../yahoo/vespa/hosted/provision/provisioning/ArchiveUris.java | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'node-repository') 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> 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 archiveUriFor(TenantName tenant) { + private Optional archiveUriFor(TenantName tenant) { return Optional.ofNullable(archiveUris.get().get(tenant)); } /** Returns the archive URI to use for given node */ public Optional 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 -> { -- cgit v1.2.3