summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-09-12 05:56:26 +0000
committergjoranv <gv@oath.com>2019-01-21 15:09:21 +0100
commitf1791b7a17aa7d4cf6989fad48ebb3fc4e4ef93c (patch)
tree2ddc9f878dedf677d307704c1be0c4b1b5ce7b8e
parente94b3caeea0d2b93154e7183dba974862015c473 (diff)
use existing container cluster if possible
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/Content.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java8
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java3
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java10
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/IndexingAndDocprocRoutingTest.java22
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java17
6 files changed, 30 insertions, 34 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
index 8d0824f89e5..79619ac0c1f 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/Content.java
@@ -238,10 +238,8 @@ public class Content extends ConfigModel {
IndexedSearchCluster indexedSearchCluster = content.getCluster().getSearch().getIndexed();
if (indexedSearchCluster.hasExplicitIndexingCluster()) {
setExistingIndexingCluster(indexedSearchCluster, content.containers);
- } else if (content.isHosted) {
- setContainerAsIndexingCluster(indexedSearchCluster, content, modelContext, root);
} else {
- createImplicitIndexingCluster(indexedSearchCluster, content, modelContext, root);
+ setContainerAsIndexingCluster(indexedSearchCluster, content, modelContext, root);
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
index 9cafe6541e4..93f87ef033b 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
@@ -218,14 +218,8 @@ public class AdminTestCase {
public void testContainerMetricsSnapshotInterval() {
VespaModel vespaModel = getVespaModel(TESTDIR + "metricconfig");
- ContainerCluster docprocCluster = vespaModel.getContainerClusters().get("cluster.music.indexing");
- HealthMonitorConfig.Builder builder = new HealthMonitorConfig.Builder();
- docprocCluster.getConfig(builder);
- HealthMonitorConfig docprocConfig = new HealthMonitorConfig(builder);
- assertEquals(60, (int) docprocConfig.snapshot_interval());
-
ContainerCluster qrCluster = vespaModel.getContainerClusters().get("container");
- builder = new HealthMonitorConfig.Builder();
+ HealthMonitorConfig.Builder builder = new HealthMonitorConfig.Builder();
qrCluster.getConfig(builder);
HealthMonitorConfig qrClusterConfig = new HealthMonitorConfig(builder);
assertEquals(60, (int) qrClusterConfig.snapshot_interval());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
index f9944f563c4..2456113f40d 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ConfigValueChangeValidatorTest.java
@@ -58,10 +58,9 @@ public class ConfigValueChangeValidatorTest {
createVespaModel(createQrStartConfigSegment(true, 2096)),
createVespaModel(createQrStartConfigSegment(false, 2096))
);
- assertEquals(3, changes.size());
+ assertEquals(2, changes.size());
assertComponentsEquals(changes, "default/container.0", 0);
assertComponentsEquals(changes, "admin/cluster-controllers/0", 1);
- assertComponentsEquals(changes, "docproc/cluster.basicsearch.indexing/0", 2);
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java
index 731544bb30e..11abe13712a 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexedTest.java
@@ -151,8 +151,8 @@ public class IndexedTest extends ContentBaseTest {
DocumentProtocol protocol = (DocumentProtocol) routing.getProtocols().get(0);
RoutingTableSpec spec = protocol.getRoutingTableSpec();
assertEquals(2, spec.getNumHops());
- assertEquals("docproc/cluster.test.indexing/chain.indexing", spec.getHop(0).getName());
- assertEquals("indexing", spec.getHop(1).getName());
+ assertEquals("indexing", spec.getHop(0).getName());
+ assertEquals("jdisc/chain.indexing", spec.getHop(1).getName());
RouteSpec r;
r = spec.getRoute(0);
@@ -174,7 +174,7 @@ public class IndexedTest extends ContentBaseTest {
r = spec.getRoute(4);
assertEquals("test-index", r.getName());
assertEquals(2, r.getNumHops());
- assertEquals("docproc/cluster.test.indexing/chain.indexing", r.getHop(0));
+ assertEquals("jdisc/chain.indexing", r.getHop(0));
assertEquals("[Content:cluster=test]", r.getHop(1));
}
@Test
@@ -281,7 +281,7 @@ public class IndexedTest extends ContentBaseTest {
@Test
public void requireThatIndexingDocprocGetsConfigIdBasedOnDistributionKey() {
VespaModel model = getIndexedVespaModel();
- ContainerCluster cluster = model.getContainerClusters().get("cluster.test.indexing");
- assertEquals("docproc/cluster.test.indexing/3", cluster.getContainers().get(0).getConfigId());
+ ContainerCluster cluster = model.getContainerClusters().get("jdisc");
+ assertEquals("jdisc/container.0", cluster.getContainers().get(0).getConfigId());
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexingAndDocprocRoutingTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexingAndDocprocRoutingTest.java
index 9cdb2606241..d8ebe4650f9 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/IndexingAndDocprocRoutingTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/IndexingAndDocprocRoutingTest.java
@@ -42,8 +42,9 @@ public class IndexingAndDocprocRoutingTest extends ContentBaseTest {
SearchClusterSpec searchCluster = new SearchClusterSpec(CLUSTERNAME, null, null);
searchCluster.searchDefs.add(new SearchDefSpec("music", "artist", "album"));
VespaModel model = getIndexedContentVespaModel(Collections.<DocprocClusterSpec>emptyList(), Arrays.asList(searchCluster));
- assertIndexing(model, new DocprocClusterSpec(CLUSTERNAME + ".indexing", new DocprocChainSpec("docproc/cluster." + CLUSTERNAME + ".indexing/chain.indexing")));
- assertFeedingRoute(model, CLUSTERNAME, "docproc/cluster." + CLUSTERNAME + ".indexing/chain.indexing");
+System.out.println("line 37");
+ assertIndexing(model, new DocprocClusterSpec("jdisc", new DocprocChainSpec("jdisc/chain.indexing")));
+ assertFeedingRoute(model, CLUSTERNAME, "jdisc/chain.indexing");
}
@Test
@@ -54,8 +55,9 @@ public class IndexingAndDocprocRoutingTest extends ContentBaseTest {
searchCluster.searchDefs.add(new SearchDefSpec("music", "artist", "album"));
searchCluster.searchDefs.add(new SearchDefSpec("book", "author", "title"));
VespaModel model = getIndexedContentVespaModel(Collections.<DocprocClusterSpec>emptyList(), Arrays.asList(searchCluster));
- assertIndexing(model, new DocprocClusterSpec(CLUSTERNAME + ".indexing", new DocprocChainSpec("docproc/cluster." + CLUSTERNAME + ".indexing/chain.indexing")));
- assertFeedingRoute(model, CLUSTERNAME, "docproc/cluster." + CLUSTERNAME + ".indexing/chain.indexing");
+System.out.println("line 49");
+ assertIndexing(model, new DocprocClusterSpec("jdisc", new DocprocChainSpec("jdisc/chain.indexing")));
+ assertFeedingRoute(model, CLUSTERNAME, "jdisc/chain.indexing");
}
@Test
@@ -71,12 +73,12 @@ public class IndexingAndDocprocRoutingTest extends ContentBaseTest {
VespaModel model = getIndexedContentVespaModel(Collections.<DocprocClusterSpec>emptyList(), Arrays.asList(musicCluster, booksCluster));
+System.out.println("line 66");
assertIndexing(model,
- new DocprocClusterSpec(MUSIC + ".indexing", new DocprocChainSpec("docproc/cluster." + MUSIC + ".indexing/chain.indexing")),
- new DocprocClusterSpec(BOOKS + ".indexing", new DocprocChainSpec("docproc/cluster." + BOOKS + ".indexing/chain.indexing")));
+ new DocprocClusterSpec("jdisc", new DocprocChainSpec("jdisc/chain.indexing")));
- assertFeedingRoute(model, MUSIC, "docproc/cluster." + MUSIC + ".indexing/chain.indexing");
- assertFeedingRoute(model, BOOKS, "docproc/cluster." + BOOKS + ".indexing/chain.indexing");
+ assertFeedingRoute(model, MUSIC, "jdisc/chain.indexing");
+ assertFeedingRoute(model, BOOKS, "jdisc/chain.indexing");
}
@@ -241,6 +243,9 @@ public class IndexingAndDocprocRoutingTest extends ContentBaseTest {
private void assertIndexing(VespaModel model, DocprocClusterSpec... expectedDocprocClusters) {
Map<String, ContainerCluster> docprocClusters = getDocprocClusters(model);
+for (Map.Entry<String, ContainerCluster> entry : docprocClusters.entrySet()) {
+System.out.println("got docproc cluster: "+entry.getKey());
+}
assertThat(docprocClusters.size(), is(expectedDocprocClusters.length));
for (DocprocClusterSpec expectedDocprocCluster : expectedDocprocClusters) {
@@ -254,6 +259,7 @@ public class IndexingAndDocprocRoutingTest extends ContentBaseTest {
List<String> actualDocprocChains = new ArrayList<>();
for (DocprocChain chain : chains) {
actualDocprocChains.add(chain.getServiceName());
+System.out.println("cluster "+docprocCluster.getName()+" with docproc chain: "+chain.getServiceName());
}
List<String> expectedDocprocChainStrings = new ArrayList<>();
for (DocprocChainSpec spec : expectedDocprocCluster.chains) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
index 0595be3230f..713026a3497 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
@@ -105,7 +105,7 @@ public class SuperModelControllerTest {
assertThat(lbc.tenants("t1").applications().size(), is(2));
assertThat(lbc.tenants("t2").applications().size(), is(1));
assertThat(lbc.tenants("t2").applications("minetooadvancedapp:prod:default:default").hosts().size(), is(1));
- assertQrServer(lbc.tenants("t2").applications("minetooadvancedapp:prod:default:default"));
+ assertContainer(lbc.tenants("t2").applications("minetooadvancedapp:prod:default:default"));
}
@Test
@@ -140,21 +140,23 @@ public class SuperModelControllerTest {
return ApplicationId.from(tenantName, ApplicationName.from(applicationName), InstanceName.defaultName());
}
- private void assertQrServer(Applications app) {
+ private void assertContainer(Applications app) {
String host = app.hosts().keySet().iterator().next();
Applications.Hosts hosts = app.hosts(host);
assertThat(hosts.hostname(), is(host));
for (Map.Entry<String, Applications.Hosts.Services> e : app.hosts(host).services().entrySet()) {
- System.out.println(e);
- if ("qrserver".equals(e.getKey())) {
+ System.out.println(e.getKey());
+ if ("container".equals(e.getKey())) {
Applications.Hosts.Services s = e.getValue();
- assertThat(s.type(), is("qrserver"));
+ System.out.println(s);
+ assertThat(s.type(), is("container"));
assertThat(s.ports().size(), is(4));
+ assertThat(s.ports().get(0).number(), is(8000));
assertThat(s.index(), is(0));
return;
}
}
- org.junit.Assert.fail("No qrserver service in config");
+ org.junit.Assert.fail("No container service in config");
}
private DeployState createDeployState(File applicationPackage, ApplicationId applicationId) {
@@ -170,6 +172,3 @@ public class SuperModelControllerTest {
}
}
-
-
-