summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-10-07 14:20:16 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-10-07 14:20:16 +0200
commit35ecbbe9dc35169f17535fc40c5f4b0e50d6dc18 (patch)
tree86257df46e54024b0e51b2bf3465cadf763da8d9
parent6aea543bbadfe42c0b6a782a2fb4e0e7941ae208 (diff)
Multiple instances short form
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java3
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java22
2 files changed, 24 insertions, 1 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index 5395459b9dc..cb645813290 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -144,7 +144,8 @@ public class DeploymentSpecXmlReader {
List<Endpoint> endpoints = readEndpoints(instanceTag);
// Build and return instances with these values
- return Arrays.stream(instanceNameString.split("'"))
+ return Arrays.stream(instanceNameString.split(","))
+ .map(name -> name.trim())
.map(name -> new DeploymentInstanceSpec(InstanceName.from(name),
steps,
upgradePolicy,
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
index 6497ef074a8..b75801de7ea 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
@@ -175,6 +175,28 @@ public class DeploymentSpecTest {
assertTrue(instance2.steps().get(0).deploysTo(Environment.prod, Optional.of(RegionName.from("us-central1"))));
}
+ @Test
+ public void testMultipleInstancesShortForm() {
+ StringReader r = new StringReader(
+ "<deployment version='1.0'>" +
+ " <instance id='instance1, instance2'>" + // The block checked by assertCorrectFirstInstance
+ " <test/>" +
+ " <staging/>" +
+ " <prod>" +
+ " <region active='false'>us-east1</region>" +
+ " <delay hours='3' minutes='30'/>" +
+ " <region active='true'>us-west1</region>" +
+ " </prod>" +
+ " </instance>" +
+ "</deployment>"
+ );
+
+ DeploymentSpec spec = DeploymentSpec.fromXml(r);
+
+ assertCorrectFirstInstance(spec.instance("instance1"));
+ assertCorrectFirstInstance(spec.instance("instance2"));
+ }
+
private void assertCorrectFirstInstance(DeploymentInstanceSpec instance) {
assertEquals(5, instance.steps().size());
assertEquals(4, instance.zones().size());