summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-05-28 15:37:12 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-05-28 15:37:12 +0200
commit482ad2d6f959149531a8dd9ecef5b540f14b430d (patch)
tree5af92f93dbd606883c851ae6e69f1e206e803305 /config-model-api
parent094c120148fe1bfe64bd8f866ac2c2598ec60468 (diff)
Avoid creating empty instance specs
Diffstat (limited to 'config-model-api')
-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.java4
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java12
3 files changed, 17 insertions, 2 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 68f27a21ce4..6519a6f50af 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
@@ -133,6 +133,9 @@ public class DeploymentSpecXmlReader {
Element instanceTag,
MutableOptional<String> globalServiceId,
Element parentTag) {
+ if (isEmptySpec(instanceTag))
+ return List.of();
+
if (validate)
validateTagOrder(instanceTag);
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 32d903786dc..efaf90e1eed 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
@@ -652,7 +652,7 @@ public class DeploymentSpecTest {
public void deploymentSpecWithIncreasinglyStrictUpgradePoliciesInParallel() {
StringReader r = new StringReader(
"<deployment version='1.0'>" +
- " <instance />" +
+ " <instance id='instance0'/>" +
" <parallel>" +
" <instance id='instance1'>" +
" <upgrade policy='conservative'/>" +
@@ -678,7 +678,7 @@ public class DeploymentSpecTest {
" <upgrade policy='canary'/>" +
" </instance>" +
" </parallel>" +
- " <instance />" +
+ " <instance id='instance3'/>" +
"</deployment>"
);
DeploymentSpec.fromXml(r);
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
index 4a7ef7b43f7..79a425f5e26 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
@@ -326,6 +326,18 @@ public class DeploymentSpecWithoutInstanceTest {
}
@Test
+ public void testOnlyAthenzServiceDefined() {
+ StringReader r = new StringReader(
+ "<deployment athenz-domain='domain' athenz-service='service'>" +
+ "</deployment>"
+ );
+ DeploymentSpec spec = DeploymentSpec.fromXml(r);
+
+ assertEquals("domain", spec.athenzDomain().get().value());
+ assertEquals(List.of(), spec.instances());
+ }
+
+ @Test
public void productionSpecWithParallelDeployments() {
StringReader r = new StringReader(
"<deployment>\n" +