diff options
author | Harald Musum <musum@yahooinc.com> | 2022-09-08 13:18:29 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-09-08 13:18:29 +0200 |
commit | e48450133bfef7af532614fa21daad77f88a4481 (patch) | |
tree | d0498a20180bb90dc64e9d0484840bd1cf2f6a5c /config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java | |
parent | 5f19d58210dee17bf2c8161b6fbea66163cd79d6 (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.java | 13 |
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")) |