diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-16 11:10:45 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-16 11:10:45 +0200 |
commit | 78dcb94aa96e67bd71ea88f27c9017c65305642d (patch) | |
tree | 9a35ed248b28fd32fdef7547e973b753fd72240f /controller-server | |
parent | fb5d4c9b0ac504698f4df52b9b0257170b944450 (diff) |
Add condition on tenant id
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/archive/CuratorArchiveBucketDb.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/archive/CuratorArchiveBucketDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/archive/CuratorArchiveBucketDb.java index fc864333202..ca173437dd1 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/archive/CuratorArchiveBucketDb.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/archive/CuratorArchiveBucketDb.java @@ -5,8 +5,8 @@ import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.text.Text; +import com.yahoo.vespa.flags.BooleanFlag; import com.yahoo.vespa.flags.FetchVector; -import com.yahoo.vespa.flags.FlagSource; import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.api.integration.archive.ArchiveBucket; @@ -46,28 +46,30 @@ public class CuratorArchiveBucketDb { private final ArchiveService archiveService; private final CuratorDb curatorDb; - private final FlagSource flagSource; + private final BooleanFlag enableFlag; private final SystemName system; public CuratorArchiveBucketDb(Controller controller) { this.archiveService = controller.serviceRegistry().archiveService(); this.curatorDb = controller.curator(); - this.flagSource = controller.flagSource(); + this.enableFlag = Flags.ENABLE_ONPREM_TENANT_S3_ARCHIVE.bindTo(controller.flagSource()); this.system = controller.zoneRegistry().system(); } public Optional<URI> archiveUriFor(ZoneId zoneId, TenantName tenant) { - if (enabled(zoneId)) { + if (enabled(zoneId, tenant)) { return Optional.of(URI.create(Text.format("s3://%s/%s/", findOrAssignBucket(zoneId, tenant), tenant.value()))); } else { return Optional.empty(); } } - private boolean enabled(ZoneId zone) { - return system.isPublic() || Flags.ENABLE_ONPREM_TENANT_S3_ARCHIVE.bindTo(flagSource) - .with(FetchVector.Dimension.ZONE_ID, zone.value()) - .value(); + private boolean enabled(ZoneId zone, TenantName tenant) { + return system.isPublic() || + enableFlag + .with(FetchVector.Dimension.ZONE_ID, zone.value()) + .with(FetchVector.Dimension.TENANT_ID, tenant.value()) + .value(); } private String findOrAssignBucket(ZoneId zoneId, TenantName tenant) { |