aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-09-08 13:18:29 +0200
committerHarald Musum <musum@yahooinc.com>2022-09-08 13:18:29 +0200
commite48450133bfef7af532614fa21daad77f88a4481 (patch)
treed0498a20180bb90dc64e9d0484840bd1cf2f6a5c /config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
parent5f19d58210dee17bf2c8161b6fbea66163cd79d6 (diff)
Allow no adminserver element in services.xml
Create single config server on container node if not given
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
index e081848d01c..ac5633a1461 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java
@@ -17,7 +17,6 @@ import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainerC
import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder.DomConfigProducerBuilder;
import com.yahoo.vespa.model.container.Container;
import org.w3c.dom.Element;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -69,7 +68,8 @@ public class DomAdminV2Builder extends DomAdminBuilderBase {
private Logserver parseLogserver(DeployState deployState, Admin admin, Element adminE) {
Element logserverE = XML.getChild(adminE, "logserver");
if (logserverE == null) {
- logserverE = XML.getChild(adminE, "adminserver");
+ var adminserverE = XML.getChild(adminE, "adminserver");
+ logserverE = adminserverE != null ? adminserverE : adminE;
}
return new LogserverBuilder().build(deployState, admin, logserverE);
}
@@ -104,13 +104,18 @@ public class DomAdminV2Builder extends DomAdminBuilderBase {
}
private List<Configserver> getConfigServers(DeployState deployState, AbstractConfigProducer<?> parent, Element adminE) {
- SimpleConfigProducer<?> configServers = new SimpleConfigProducer<>(parent, "configservers");
Element configserversE = XML.getChild(adminE, "configservers");
if (configserversE == null) {
Element adminserver = XML.getChild(adminE, "adminserver");
- return List.of(new ConfigserverBuilder(0, configServerSpecs).build(deployState, configServers, adminserver));
+ if (adminserver == null) {
+ return createSingleConfigServer(deployState, parent);
+ } else {
+ SimpleConfigProducer<?> configServers = new SimpleConfigProducer<>(parent, "configservers");
+ return List.of(new ConfigserverBuilder(0, configServerSpecs).build(deployState, configServers, adminserver));
+ }
}
else {
+ SimpleConfigProducer<?> configServers = new SimpleConfigProducer<>(parent, "configservers");
List<Configserver> configservers = new ArrayList<>();
int i = 0;
for (Element configserverE : XML.getChildren(configserversE, "configserver"))