summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2023-06-01 16:06:37 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2023-06-01 16:06:37 +0200
commitb4da5723743f8ee547f0f9f0acd57652447df53b (patch)
treec8c10ae2ef351b65ad589a143f9d34c485e0a232
parent4cae2ecf6c9c5ac7f329a112451909d0f7ac3950 (diff)
Fix exclave condition
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ArchiveUriUpdater.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java2
4 files changed, 10 insertions, 6 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java
index 6cdb197b307..f2cd55b88b2 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java
@@ -39,8 +39,12 @@ public interface ZoneRegistry {
/** Returns whether cloudAccount in this system supports given zone */
boolean hasZone(ZoneId zoneId, CloudAccount cloudAccount);
- /** Returns whether the given cloud account is an enclave */
- boolean isEnclave(CloudAccount cloudAccount);
+ /** Returns whether the given cloud account is not one of the system accounts */
+ boolean isExternal(CloudAccount cloudAccount);
+
+ default boolean isExclave(CloudAccount cloudAccount) {
+ return system().isPublic() && isExternal(cloudAccount);
+ }
/** Returns a list containing the id of all zones in this registry */
ZoneFilter zones();
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ArchiveUriUpdater.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ArchiveUriUpdater.java
index c4f3c611cc5..a8d025dbb6a 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ArchiveUriUpdater.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ArchiveUriUpdater.java
@@ -57,7 +57,7 @@ public class ArchiveUriUpdater extends ControllerMaintainer {
for (var application : applications.asList()) {
for (var instance : application.instances().values()) {
for (var deployment : instance.deployments().values()) {
- if (zoneRegistry.isEnclave(deployment.cloudAccount())) accountsByZone.get(deployment.zone()).add(deployment.cloudAccount());
+ if (zoneRegistry.isExclave(deployment.cloudAccount())) accountsByZone.get(deployment.zone()).add(deployment.cloudAccount());
else tenantsByZone.get(deployment.zone()).add(instance.id().tenant());
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 86211ef7c35..28b048613ef 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -1883,7 +1883,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
application.projectId().ifPresent(i -> response.setString("screwdriverId", String.valueOf(i)));
- if (controller.zoneRegistry().isEnclave(deployment.cloudAccount())) {
+ if (controller.zoneRegistry().isExternal(deployment.cloudAccount())) {
Cursor enclave = response.setObject("enclave");
enclave.setString("cloudAccount", deployment.cloudAccount().value());
controller.zoneRegistry().cloudAccountAthenzDomain(deployment.cloudAccount()).ifPresent(domain -> enclave.setString("athensDomain", domain.value()));
@@ -1918,7 +1918,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
response.setDouble("quota", deployment.quota().rate());
deployment.cost().ifPresent(cost -> response.setDouble("cost", cost));
- (controller.zoneRegistry().isEnclave(deployment.cloudAccount()) ?
+ (controller.zoneRegistry().isExclave(deployment.cloudAccount()) ?
controller.archiveBucketDb().archiveUriFor(deploymentId.zoneId(), deployment.cloudAccount(), false) :
controller.archiveBucketDb().archiveUriFor(deploymentId.zoneId(), deploymentId.applicationId().tenant(), false))
.ifPresent(archiveUri -> response.setString("archiveUri", archiveUri.toString()));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
index 611f0bab904..76cf7c9a75c 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
@@ -272,7 +272,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
}
@Override
- public boolean isEnclave(CloudAccount cloudAccount) {
+ public boolean isExternal(CloudAccount cloudAccount) {
return system.isPublic() && !cloudAccount.isUnspecified() && !cloudAccount.equals(systemCloudAccount);
}