diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-06-01 13:47:25 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2022-06-08 11:45:24 +0200 |
commit | 778db579931c6f2e08e40d7cb37c1090422f7164 (patch) | |
tree | d182e3bfb8e0d634a63fbe8ad904605de5edd40b /config-model/src/main/java | |
parent | daa980fcd31971bc9418fe8717f835e53d501969 (diff) |
Remove on Vespa 8
Diffstat (limited to 'config-model/src/main/java')
15 files changed, 0 insertions, 368 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaConfigModelRegistry.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaConfigModelRegistry.java index e942079a085..ca2d6a9da76 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaConfigModelRegistry.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaConfigModelRegistry.java @@ -9,7 +9,6 @@ import com.yahoo.vespa.model.builder.xml.dom.DomRoutingBuilder; import com.yahoo.vespa.model.container.xml.ContainerModelBuilder; import com.yahoo.vespa.model.container.xml.ContainerModelBuilder.Networking; import com.yahoo.vespa.model.content.Content; -import com.yahoo.vespa.model.generic.GenericServicesBuilder; import java.util.ArrayList; import java.util.Collection; @@ -34,7 +33,6 @@ public class VespaConfigModelRegistry extends ConfigModelRegistry { builderList.add(new DomRoutingBuilder()); builderList.add(new Content.Builder()); builderList.add(new ContainerModelBuilder(false, Networking.enable)); - builderList.add(new GenericServicesBuilder()); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java index a587d4cb0f9..7f5a78fa917 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java @@ -52,7 +52,6 @@ import com.yahoo.vespa.model.content.Content; import com.yahoo.vespa.model.content.cluster.ContentCluster; import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer; import com.yahoo.vespa.model.filedistribution.FileReferencesRepository; -import com.yahoo.vespa.model.generic.service.ServiceCluster; import com.yahoo.vespa.model.ml.ConvertedModel; import com.yahoo.vespa.model.ml.ModelName; import com.yahoo.vespa.model.ml.OnnxModelInfo; @@ -115,9 +114,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri private final ApplicationPackage applicationPackage; - /** Generic service instances - service clusters which have no specific model */ - private final List<ServiceCluster> serviceClusters = new ArrayList<>(); - /** The global rank profiles of this model */ private final RankProfileList rankProfileList; @@ -182,7 +178,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri if (complete) { // create a completed, frozen model root.useFeatureFlags(deployState.getProperties().featureFlags()); configModelRepo.readConfigModels(deployState, this, builder, root, new VespaConfigModelRegistry(configModelRegistry)); - addServiceClusters(deployState, builder); setupRouting(deployState); getAdmin().addPerHostServices(hostSystem.getHosts(), deployState); freezeModelTopology(); @@ -260,11 +255,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri } } - /** Adds generic application specific clusters of services */ - private void addServiceClusters(DeployState deployState, VespaModelBuilder builder) { - serviceClusters.addAll(builder.getClusters(deployState, this)); - } - /** * Creates a rank profile not attached to any search definition, for each imported model in the application package, * and adds it to the given rank profile registry. @@ -651,11 +641,6 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri return root.getFileDistributionConfigProducer(); } - /** The clusters of application specific generic services */ - public List<ServiceCluster> serviceClusters() { - return serviceClusters; - } - /** Returns an unmodifiable view of the mapping of config id to {@link ConfigProducer} */ public Map<String, ConfigProducer> id2producer() { return Collections.unmodifiableMap(id2producer); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java index ff41a700230..2cf32f1e8ff 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/VespaModelBuilder.java @@ -6,9 +6,6 @@ import com.yahoo.config.model.ConfigModelRepo; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.config.model.ApplicationConfigProducerRoot; -import com.yahoo.vespa.model.generic.service.ServiceCluster; - -import java.util.List; /** * Base class for classes capable of building vespa model. @@ -18,7 +15,6 @@ import java.util.List; public abstract class VespaModelBuilder { public abstract ApplicationConfigProducerRoot getRoot(String name, DeployState deployState, AbstractConfigProducer parent); - public abstract List<ServiceCluster> getClusters(DeployState pkg, AbstractConfigProducer parent); /** * Processing that requires access across plugins diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java index ea66db7b79d..e2bfcb66f37 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java @@ -20,15 +20,11 @@ import com.yahoo.vespa.model.container.ContainerCluster; import com.yahoo.vespa.model.container.ContainerModel; import com.yahoo.vespa.model.container.docproc.ContainerDocproc; import com.yahoo.vespa.model.content.Content; -import com.yahoo.vespa.model.generic.builder.DomServiceClusterBuilder; -import com.yahoo.vespa.model.generic.service.ServiceCluster; import com.yahoo.vespa.model.search.SearchCluster; -import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.logging.Level; @@ -295,15 +291,4 @@ public class VespaDomBuilder extends VespaModelBuilder { } } - @Override - public List<ServiceCluster> getClusters(DeployState deployState, AbstractConfigProducer parent) { - List<ServiceCluster> clusters = new ArrayList<>(); - Document services = XmlHelper.getDocument(deployState.getApplicationPackage().getServices(), "services.xml"); - for (Element clusterSpec : XML.getChildren(services.getDocumentElement(), "cluster")) { - DomServiceClusterBuilder clusterBuilder = new DomServiceClusterBuilder(clusterSpec.getAttribute("name")); - clusters.add(clusterBuilder.build(deployState, parent.getRoot(), clusterSpec)); - } - return clusters; - } - } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesBuilder.java deleted file mode 100644 index 7a0278faa48..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesBuilder.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic; - -import com.yahoo.config.model.ConfigModelContext; -import com.yahoo.config.model.builder.xml.ConfigModelBuilder; -import com.yahoo.config.model.builder.xml.ConfigModelId; -import com.yahoo.vespa.model.generic.builder.DomServiceClusterBuilder; -import org.w3c.dom.Element; - -import java.util.Arrays; -import java.util.List; - -/** - * @author Ulf Lilleengen - * @since 5.1 - * - * TODO: remove in Vespa 8 - */ -public class GenericServicesBuilder extends ConfigModelBuilder<GenericServicesModel> { - - public GenericServicesBuilder() { - super(GenericServicesModel.class); - } - - @Override - public List<ConfigModelId> handlesElements() { - return List.of(ConfigModelId.fromName("service")); - } - - @Override - public void doBuild(GenericServicesModel model, Element spec, ConfigModelContext context) { - String name = spec.getAttribute("name"); - model.addCluster(new DomServiceClusterBuilder(name).build(context.getDeployState(), context.getParentProducer(), spec)); - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesModel.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesModel.java deleted file mode 100644 index 52f02aba021..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/GenericServicesModel.java +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic; - -import com.yahoo.config.model.ConfigModel; -import com.yahoo.config.model.ConfigModelContext; -import com.yahoo.vespa.model.generic.service.ServiceCluster; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Ulf Lilleengen - * @since 5.1 - */ -public class GenericServicesModel extends ConfigModel { - private final List<ServiceCluster> clusters = new ArrayList<>(); - public GenericServicesModel(ConfigModelContext modelContext) { - super(modelContext); - } - - public void addCluster(ServiceCluster cluster) { - clusters.add(cluster); - } - - public List<ServiceCluster> serviceClusters() { - return clusters; - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java deleted file mode 100644 index f2f930f201f..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomModuleBuilder.java +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.builder; - -import com.yahoo.config.model.deploy.DeployState; -import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.text.XML; -import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder; -import com.yahoo.vespa.model.generic.service.Module; -import org.w3c.dom.Element; - -/** - * Produces sub services for generic services. - */ -public class DomModuleBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Module> { - - private final String name; - - public DomModuleBuilder(String name) { - this.name = name; - } - - private void addChildren(DeployState deployState, Module s, Element subServiceSpec) { - for (Element nodeSpec : XML.getChildren(subServiceSpec, "module")) { - new DomModuleBuilder(nodeSpec.getAttribute("name")).build(deployState, s, nodeSpec); - } - } - - @Override - protected Module doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element subServiceSpec) { - Module s = new Module(ancestor, name); - addChildren(deployState, s, subServiceSpec); - return s; - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceBuilder.java deleted file mode 100644 index 52f13667d89..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceBuilder.java +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.builder; - -import com.yahoo.config.model.deploy.DeployState; -import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.text.XML; -import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder; -import com.yahoo.vespa.model.generic.service.Service; -import com.yahoo.vespa.model.generic.service.ServiceCluster; -import org.w3c.dom.Element; - -/** -* @author Ulf Lilleengen -* @since 5.1 -*/ -public class DomServiceBuilder extends VespaDomBuilder.DomConfigProducerBuilder<Service> { - private final int i; - - public DomServiceBuilder(int i) { - this.i = i; - } - - @Override - protected com.yahoo.vespa.model.generic.service.Service doBuild(DeployState deployState, AbstractConfigProducer parent, - Element serviceSpec) { - ServiceCluster sc = (ServiceCluster) parent; - com.yahoo.vespa.model.generic.service.Service service = new com.yahoo.vespa.model.generic.service.Service(sc, i + ""); - for (Element subServiceSpec : XML.getChildren(serviceSpec, "module")) { - new DomModuleBuilder(subServiceSpec.getAttribute("name")).build(deployState, service, subServiceSpec); - } - return service; - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java deleted file mode 100644 index 1ac668049f0..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/DomServiceClusterBuilder.java +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.builder; - -import com.yahoo.config.model.deploy.DeployState; -import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.text.XML; -import com.yahoo.vespa.model.builder.xml.dom.VespaDomBuilder; -import com.yahoo.vespa.model.generic.service.ServiceCluster; -import org.w3c.dom.Element; -import java.util.Map; -import java.util.logging.Level; - -/** - * @author Ulf Lilleengen - * - * TODO: remove in Vespa 8 - */ -public class DomServiceClusterBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ServiceCluster> { - - private final String name; - - public DomServiceClusterBuilder(String name) { - this.name = name; - } - - @Override - protected ServiceCluster doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element spec) { - deployState.getDeployLogger().logApplicationPackage( - Level.WARNING, "The 'service' element is deprecated and will be removed in Vespa 8, without replacement."); - - ServiceCluster cluster = new ServiceCluster(ancestor, name, spec.getAttribute("command")); - int nodeIndex = 0; - for (Element nodeSpec : XML.getChildren(spec, "node")) { - com.yahoo.vespa.model.generic.service.Service service = new DomServiceBuilder(nodeIndex).build(deployState, cluster, nodeSpec); - - // TODO: Currently creates the config for each service. Should instead build module tree first - // and store them in ServiceCluster. Then have some way of referencing them from each service. - for (Element subServiceSpec : XML.getChildren(spec, "module")) { - String subServiceName = subServiceSpec.getAttribute("name"); - Map<String, AbstractConfigProducer<?>> map = service.getChildren(); - // Add only non-conflicting modules. Does not merge unspecified configs that are specified in root though. - if (!map.containsKey(subServiceName)) - new DomModuleBuilder(subServiceName).build(deployState, service, subServiceSpec); - } - nodeIndex++; - } - return cluster; - } - -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/package-info.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/package-info.java deleted file mode 100644 index fc2cd94d4c4..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/builder/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -@ExportPackage -package com.yahoo.vespa.model.generic.builder; - -import com.yahoo.osgi.annotation.ExportPackage; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/package-info.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/package-info.java deleted file mode 100644 index 3163a070607..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -@ExportPackage -package com.yahoo.vespa.model.generic; - -import com.yahoo.osgi.annotation.ExportPackage; diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java deleted file mode 100644 index d0b1520e905..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Module.java +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.service; - -import com.yahoo.config.model.producer.AbstractConfigProducer; - -/** - * A simple sub service that is essentially just to have a node with a nice name - * in the tree. Could might as well have used an AbstractConfigProducer as well, - * but that makes the code very confusing to read. - * - * @author Ulf Lilleengen - */ -public class Module extends AbstractConfigProducer<Module> { - - public Module(AbstractConfigProducer<?> parent, String subId) { - super(parent, subId); - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Service.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Service.java deleted file mode 100644 index dbb2e6a45b3..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/Service.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.service; - -import com.yahoo.vespa.model.AbstractService; -import com.yahoo.vespa.model.HostResource; -import com.yahoo.vespa.model.PortAllocBridge; - -/** - * An application specific generic service - * @author vegardh - * - */ -public class Service extends AbstractService { - private static final long serialVersionUID = 1L; - - public Service(ServiceCluster parent, String id) { - super(parent, id); - setProp("clustertype", parent.getName()); - setProp("clustername", parent.getName()); - } - - @Override - public int getPortCount() { - return 0; - } - - @Override - public void allocatePorts(int start, PortAllocBridge from) { } - - @Override - public String getStartupCommand() { - return ((ServiceCluster) getParent()).getCommand(); - } - - private String getClusterName() { - return ((ServiceCluster) getParent()).getName(); - } - - /** - * Different services are represented using same class here, so we must take service name into account too - * - * @param host a host - * @return the index of the host - */ - protected int getIndex(HostResource host) { - int i = 0; - for (com.yahoo.vespa.model.Service s : host.getServices()) { - if (!s.getClass().equals(getClass())) continue; - Service other = (Service)s; - if (s!=this && other.getClusterName().equals(getClusterName())) { - i++; - } - } - return i + 1; - } - - @Override - public String getServiceType() { - return getClusterName(); - } -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java deleted file mode 100644 index 32daed92fac..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/ServiceCluster.java +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.model.generic.service; - -import com.yahoo.config.model.producer.AbstractConfigProducer; -import com.yahoo.vespa.model.HostSystem; - -import java.util.ArrayList; -import java.util.Collection; - -/** - * A cluster of nodes running one application specific generic service. These are defined on the top level in the Vespa config - * @author vegardh - * - */ -public class ServiceCluster extends AbstractConfigProducer<ServiceCluster> { - - private static final long serialVersionUID = 1L; - private final String command; - private final String name; - private HostSystem hostSystem; // A generic cluster can resolve hosts for its nodes - - public ServiceCluster(AbstractConfigProducer<?> parent, String name, String command) { - super(parent, name); - this.command=command; - this.name=name; - } - - public String getName() { - return name; - } - - String getCommand() { - return command; - } - - public Collection<Service> services() { - Collection<Service> ret = new ArrayList<>(); - for (Object child : getChildren().values()) { - if (child instanceof Service) ret.add((Service) child); - } - return ret; - } - - @Override - public HostSystem hostSystem() { - if (hostSystem!=null) return hostSystem; - return super.hostSystem(); - } - - /** - * Sets the host system for this. - * @param hostSystem a {@link com.yahoo.vespa.model.HostSystem} - */ - public void setHostSystem(HostSystem hostSystem) { - this.hostSystem = hostSystem; - } - -} diff --git a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/package-info.java b/config-model/src/main/java/com/yahoo/vespa/model/generic/service/package-info.java deleted file mode 100644 index 2ad0df20a1a..00000000000 --- a/config-model/src/main/java/com/yahoo/vespa/model/generic/service/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -@ExportPackage -package com.yahoo.vespa.model.generic.service; - -import com.yahoo.osgi.annotation.ExportPackage; |