summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-01-11 13:31:31 +0100
committerMartin Polden <mpolden@mpolden.no>2019-01-11 13:31:31 +0100
commitc60c77398f49d2b3119cde96009a9525601688d5 (patch)
tree1a78d051ed2914d29df1f5a63e3cc59efec81617 /config-application-package
parent25221dbd5bff429264aba05dadf7464303abd70a (diff)
Make pre-processing respect region for dev environments
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java8
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java4
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java42
3 files changed, 42 insertions, 12 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
index 9443339624a..0599afa056d 100644
--- a/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
+++ b/config-application-package/src/main/java/com/yahoo/config/application/OverrideProcessor.java
@@ -136,11 +136,11 @@ class OverrideProcessor implements PreProcessor {
}
if ( ! elementRegions.isEmpty()) { // match region
- // match region in prod only
- if ( environment.equals(Environment.prod) && ! elementRegions.contains(region)) return false;
+ // match region in multi-region environments only
+ if ( environment.isMultiRegion() && ! elementRegions.contains(region)) return false;
- // explicit region implies prod
- if ( ! environment.equals(Environment.prod) && elementEnvironments.isEmpty() ) return false;
+ // explicit region implies multi-region environment
+ if ( ! environment.isMultiRegion() && elementEnvironments.isEmpty() ) return false;
}
return true;
diff --git a/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java
index c450e478c85..7c054ec62ee 100644
--- a/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/application/MultiOverrideProcessorTest.java
@@ -89,7 +89,7 @@ public class MultiOverrideProcessorTest {
" </component>\n" +
" </container>\n" +
"</services>";
- assertOverride(Environment.dev, RegionName.defaultName(), expected);
+ assertOverride(Environment.dev, RegionName.from("us-east-3"), expected);
}
@Test
@@ -118,7 +118,7 @@ public class MultiOverrideProcessorTest {
" </component>\n" +
" </container>\n" +
"</services>";
- assertOverrideWithIds(Environment.dev, RegionName.defaultName(), expected);
+ assertOverrideWithIds(Environment.dev, RegionName.from("us-east-3"), expected);
}
private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException {
diff --git a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
index e4690418847..57213efcd0d 100644
--- a/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/application/OverrideProcessorTest.java
@@ -6,12 +6,8 @@ import com.yahoo.config.provision.RegionName;
import org.custommonkey.xmlunit.XMLUnit;
import org.junit.Test;
import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.stream.XMLStreamException;
import javax.xml.transform.TransformerException;
-import java.io.IOException;
import java.io.StringReader;
/**
@@ -42,6 +38,11 @@ public class OverrideProcessorTest {
" <document deploy:environment='prod' mode='index' type='music3'/>\n" +
" <document deploy:environment='prod' deploy:region='us-west' mode='index' type='music4'/>\n" +
" </documents>" +
+ " <documents deploy:environment='dev'>" +
+ " <document mode='store-only' type='music'/>\n" +
+ " <document type='music5' mode='streaming' />\n" +
+ " <document deploy:region='us-east-1' type='music6' mode='streaming' />\n" +
+ " </documents>" +
" <documents>" +
" <document mode='store-only' type='music'/>\n" +
" <document type='music2' mode='streaming' />\n" +
@@ -214,7 +215,7 @@ public class OverrideProcessorTest {
" <redundancy>1</redundancy>" +
" <documents>" +
" <document mode=\"store-only\" type=\"music\"/>" +
- " <document mode=\"streaming\" type=\"music2\"/>" +
+ " <document mode=\"streaming\" type=\"music5\"/>" +
" </documents>" +
" <nodes>" +
" <node distribution-key=\"0\" hostalias=\"node0\"/>" +
@@ -232,6 +233,35 @@ public class OverrideProcessorTest {
}
@Test
+ public void testParsingDevEnvironmentAndRegion() throws Exception {
+ String expected =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
+ "<services xmlns:deploy=\"vespa\" xmlns:preprocess=\"?\" version=\"1.0\">" +
+ " <admin version=\"2.0\">" +
+ " <adminserver hostalias=\"node0\"/>" +
+ " </admin>" +
+ " <content id=\"foo\" version=\"1.0\">" +
+ " <redundancy>1</redundancy>" +
+ " <documents>" +
+ " <document mode=\"streaming\" type=\"music6\"/>" +
+ " </documents>" +
+ " <nodes>" +
+ " <node distribution-key=\"0\" hostalias=\"node0\"/>" +
+ " </nodes>" +
+ " </content>" +
+ " <jdisc id=\"stateless\" version=\"1.0\">" +
+ " <search/>" +
+ " <component id=\"foo\" class=\"MyFoo\" bundle=\"foobundle\" />" +
+ " <nodes>" +
+ " <node hostalias=\"node0\"/>" +
+ " </nodes>" +
+ " </jdisc>" +
+ "</services>";
+
+ assertOverride(Environment.from("dev"), RegionName.from("us-east-1"), expected);
+ }
+
+ @Test
public void testParsingTestEnvironmentUnknownRegion() throws TransformerException {
String expected =
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
@@ -317,7 +347,7 @@ public class OverrideProcessorTest {
}
private void assertOverride(Environment environment, RegionName region, String expected) throws TransformerException {
- Document inputDoc = Xml.getDocument(new StringReader(input));
+ Document inputDoc = Xml.getDocument(new StringReader(OverrideProcessorTest.input));
Document newDoc = new OverrideProcessor(environment, region).process(inputDoc);
TestBase.assertDocument(expected, newDoc);
}