summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@yahooinc.com>2023-08-06 23:48:24 +0200
committerHåkon Hallingstad <hakon@yahooinc.com>2023-08-06 23:48:24 +0200
commit767ee414bfb99df1b40d58b54782be8463f3385a (patch)
tree986be3f71dd4a1298099f4658cd316a6fb9b3db7 /controller-api
parentcaa6f4e85fad97c2c592c3a17d90690d07114302 (diff)
Skip test of existence of zone in condition client-side
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java
index 8df2a1b483d..51b6586087f 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchive.java
@@ -184,7 +184,8 @@ public class SystemFlagsDataArchive {
if (rawData.isBlank()) {
flagData = new FlagData(directoryDeducedFlagId);
} else {
- Set<ZoneId> zones = zoneRegistry.zones().all().zones().stream().map(ZoneApi::getVirtualId).collect(Collectors.toSet());
+ Set<ZoneId> zones = force ? zoneRegistry.zones().all().zones().stream().map(ZoneApi::getVirtualId).collect(Collectors.toSet())
+ : Set.of();
String normalizedRawData = normalizeJson(rawData, zones);
flagData = FlagData.deserialize(normalizedRawData);
if (!directoryDeducedFlagId.equals(flagData.id())) {
@@ -250,7 +251,8 @@ public class SystemFlagsDataArchive {
throw new FlagValidationException("Major Vespa version must be at least 8: " + versionString);
});
case ZONE_ID -> validateStringValues(condition, zoneIdString -> {
- if (!zones.contains(ZoneId.from(zoneIdString)))
+ ZoneId zoneId = ZoneId.from(zoneIdString);
+ if (!zones.isEmpty() && !zones.contains(zoneId))
throw new FlagValidationException("Unknown zone: " + zoneIdString);
});
}