diff options
author | HÃ¥kon Hallingstad <hakon@verizonmedia.com> | 2021-02-05 09:20:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-05 09:20:09 +0100 |
commit | 3784bfd243aedb0d8a737cf154d1f5fd43a93746 (patch) | |
tree | e588e2050f270610aa2676b984043d35a97c4ce5 | |
parent | 147115c0242f0ebd3614fe0afa83f32cfdfd66af (diff) | |
parent | eaad3c822dc97e883dc9ff41412c53402989bafc (diff) |
Merge pull request #16394 from vespa-engine/bjorncs/system-feature-flags
Include files for unreachable zones when creating archive
4 files changed, 7 insertions, 4 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/FlagsTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/FlagsTarget.java index 1b7f84d1ec7..c5dc39cd8e0 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/FlagsTarget.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/FlagsTarget.java @@ -5,6 +5,7 @@ import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.config.provision.zone.ZoneList; import com.yahoo.vespa.athenz.api.AthenzIdentity; import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneRegistry; @@ -37,10 +38,11 @@ public interface FlagsTarget { Optional<AthenzIdentity> athenzHttpsIdentity(); String asString(); - static Set<FlagsTarget> getAllTargetsInSystem(ZoneRegistry registry) { + static Set<FlagsTarget> getAllTargetsInSystem(ZoneRegistry registry, boolean reachableOnly) { SystemName system = registry.system(); Set<FlagsTarget> targets = new HashSet<>(); - for (ZoneApi zone : registry.zones().reachable().zones()) { + ZoneList filteredZones = reachableOnly ? registry.zones().reachable() : registry.zones().all(); + for (ZoneApi zone : filteredZones.zones()) { targets.add(forConfigServer(registry, zone.getId())); } targets.add(forController(system)); 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 57dafcd3291..850e14b25e8 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 @@ -163,7 +163,7 @@ public class SystemFlagsDataArchive { private static Set<String> getFilenamesForSystem(ZoneRegistry systemDefinition) { if (systemDefinition == null) return Set.of(); - return FlagsTarget.getAllTargetsInSystem(systemDefinition).stream() + return FlagsTarget.getAllTargetsInSystem(systemDefinition, false).stream() .flatMap(target -> target.flagDataFilesPrioritized().stream()) .collect(Collectors.toSet()); } diff --git a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java index d29657035c4..1f4eaf3e414 100644 --- a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java +++ b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/systemflags/v1/SystemFlagsDataArchiveTest.java @@ -288,6 +288,7 @@ public class SystemFlagsDataArchiveTest { when(registryMock.getConfigServerHttpsIdentity(any())).thenReturn(new AthenzService("domain", "servicename")); ZoneList zoneListMock = mock(ZoneList.class); when(zoneListMock.reachable()).thenReturn(zoneListMock); + when(zoneListMock.all()).thenReturn(zoneListMock); when(zoneListMock.zones()).thenReturn((List)List.of(new SimpleZone("prod.us-west-1"), new SimpleZone("prod.us-east-3"))); when(registryMock.zones()).thenReturn(zoneListMock); return registryMock; diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/SystemFlagsHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/SystemFlagsHandler.java index 129f1e109df..7c39787e295 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/SystemFlagsHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/systemflags/SystemFlagsHandler.java @@ -33,7 +33,7 @@ public class SystemFlagsHandler extends LoggingRequestHandler { ServiceIdentityProvider identityProvider, Executor executor) { super(executor); - this.deployer = new SystemFlagsDeployer(identityProvider, zoneRegistry.system(), FlagsTarget.getAllTargetsInSystem(zoneRegistry)); + this.deployer = new SystemFlagsDeployer(identityProvider, zoneRegistry.system(), FlagsTarget.getAllTargetsInSystem(zoneRegistry, true)); } @Override |