diff options
author | Morten Tokle <morten.tokle@gmail.com> | 2019-02-04 10:44:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-04 10:44:38 +0100 |
commit | a00c6cab38b2b361a587e479f7bbdef8862d03d9 (patch) | |
tree | 03dbc0ae0c98a9d5cab733c77dc4b1088192753e /configserver | |
parent | f8aa71a4948a9489ec2313ee44f3facc76e77899 (diff) | |
parent | 955ebb989ec0c61cbcdf8fe439f7cde9094120fe (diff) |
Merge pull request #8364 from vespa-engine/mpolden/rotations-element
Add support for rotations element
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/test/apps/hosted/services.xml | 8 | ||||
-rw-r--r-- | configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java | 25 |
2 files changed, 29 insertions, 4 deletions
diff --git a/configserver/src/test/apps/hosted/services.xml b/configserver/src/test/apps/hosted/services.xml index 2025a177430..7c2920958a2 100644 --- a/configserver/src/test/apps/hosted/services.xml +++ b/configserver/src/test/apps/hosted/services.xml @@ -6,7 +6,7 @@ <nodes count='1'/> </admin> - <jdisc version="1.0"> + <container version="1.0"> <http> <filtering> <access-control domain="foo" write="true" /> @@ -15,7 +15,11 @@ </http> <search/> <nodes count='1'/> - </jdisc> + <rotations> + <rotation id='us-cluster'/> + <rotation id='eu-cluster'/> + </rotations> + </container> <content id="music" version="1.0"> <redundancy>1</redundancy> diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java index d64cf963be7..143b9b34a35 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.deploy; import com.google.common.collect.ImmutableSet; import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; +import com.yahoo.component.Version; import com.yahoo.config.model.api.ConfigChangeAction; import com.yahoo.config.model.api.ModelContext; import com.yahoo.config.model.api.ModelCreateResult; @@ -14,12 +15,13 @@ import com.yahoo.config.model.provision.Host; import com.yahoo.config.model.provision.Hosts; import com.yahoo.config.model.provision.InMemoryProvisioner; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.RegionName; -import com.yahoo.component.Version; +import com.yahoo.config.provision.RotationName; import com.yahoo.config.provision.Zone; import com.yahoo.test.ManualClock; - import com.yahoo.vespa.config.server.configchange.MockRestartAction; import com.yahoo.vespa.config.server.configchange.RestartActions; import com.yahoo.vespa.config.server.http.v2.PrepareResult; @@ -36,6 +38,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -294,6 +297,24 @@ public class HostedDeployTest { assertThat(actions.get(0).getMessages(), equalTo(ImmutableSet.of("change", "other change"))); } + @Test + public void testDeployWithClusterRotations() { + CountingModelFactory modelFactory = DeployTester.createModelFactory(Version.fromString("4.5.6"), Clock.systemUTC()); + DeployTester tester = new DeployTester(Collections.singletonList(modelFactory), createConfigserverConfig()); + ApplicationId applicationId = tester.applicationId(); + + tester.deployApp("src/test/apps/hosted/", "4.5.6", Instant.now()); + Set<HostSpec> containers = tester.getAllocatedHostsOf(applicationId).getHosts().stream() + .filter(h -> h.membership().get().cluster().type() == ClusterSpec.Type.container) + .collect(Collectors.toSet()); + assertFalse("Allocated container hosts", containers.isEmpty()); + + Set<RotationName> expected = Set.of(RotationName.from("eu-cluster"), RotationName.from("us-cluster")); + for (HostSpec container : containers) { + assertEquals(expected, container.membership().get().cluster().rotations()); + } + } + private static ConfigserverConfig createConfigserverConfig() { return new ConfigserverConfig(new ConfigserverConfig.Builder() .configServerDBDir(Files.createTempDir().getAbsolutePath()) |