/** * Returns the admin component of the vespamodel. * * @return Admin */ public Admin getAdmin() { return root.getAdmin(); }
/** * Returns the Service with the given id, or null if no such * configId exists or if it belongs to a non-Service ConfigProducer. * * @param configId The configId, e.g. "search.0/tld.0" * @return Service with the given configId */ public Service getService(String configId) { ConfigProducer cp = getConfigProducer(configId); if (cp == null || !(cp instanceof Service)) { return null; } return (Service) cp; }
public FileDistributionConfigProducer getFileDistributionConfigProducer() { return root.getFileDistributionConfigProducer(); }
@Override protected ApplicationConfigProducerRoot doBuild(DeployState deployState, AbstractConfigProducer parent, Element producerSpec) { ApplicationConfigProducerRoot root = new ApplicationConfigProducerRoot(parent, name, deployState.getDocumentModel(), deployState.getVespaVersion(), deployState.getProperties().applicationId()); root.setHostSystem(new HostSystem(root, "hosts", deployState.getProvisioner(), deployState.getDeployLogger())); new Client(root); return root; } }
root = builder.getRoot(VespaModel.ROOT_CONFIGID, deployState, this); HostSystem hostSystem = root.getHostSystem(); createGlobalRankProfiles(deployState.getDeployLogger(), deployState.getImportedModels(), deployState.rankProfileRegistry(), deployState.getQueryProfiles()); this.allocatedHosts = AllocatedHosts.withHosts(hostSystem.getHostSpecs()); // must happen after the two lines above setupRouting(deployState); this.fileDistributor = root.getFileDistributionConfigProducer().getFileDistributor(); getAdmin().addPerHostServices(hostSystem.getHosts(), deployState); freezeModelTopology(); root.prepare(configModelRepo); configModelRepo.prepareConfigModels(deployState); validateWrapExceptions();
@Override public void getConfig(ModelConfig.Builder builder) { builder.vespaVersion(vespaVersion.toFullString()); for (HostResource modelHost : getHostSystem().getHosts()) { builder.hosts(new Hosts.Builder() .name(modelHost.getHostname()) .services(getServices(modelHost)) ); } }
static Pair<VespaModel, Container> createContainerModel(Path applicationPath, FileRegistry fileRegistry, File preprocessedApplicationDir, Networking networkingOption, ConfigModelRepo configModelRepo) throws Exception { DeployLogger logger = new BaseDeployLogger(); FilesApplicationPackage rawApplicationPackage = new FilesApplicationPackage.Builder(applicationPath.toFile()) .includeSourceFiles(true).preprocessedDir(preprocessedApplicationDir).build(); ApplicationPackage applicationPackage = rawApplicationPackage.preprocess(getZone(), logger); validateApplication(applicationPackage); DeployState deployState = createDeployState(applicationPackage, fileRegistry, logger); VespaModel root = VespaModel.createIncomplete(deployState); ApplicationConfigProducerRoot vespaRoot = new ApplicationConfigProducerRoot(root, "vespa", deployState.getDocumentModel(), deployState.getVespaVersion(), deployState.getProperties().applicationId()); Element spec = containerRootElement(applicationPackage); ContainerModel containerModel = newContainerModelBuilder(networkingOption).build(deployState, root, configModelRepo, vespaRoot, spec); containerModel.getCluster().prepare(deployState); initializeContainerModel(containerModel, configModelRepo); Container container = first(containerModel.getCluster().getContainers()); // TODO: Separate out model finalization from the VespaModel constructor, // such that the above and below code to finalize the container can be // replaced by root.finalize(); initializeContainer(deployState.getDeployLogger(), container, spec); root.freezeModelTopology(); return new Pair<>(root, container); }
@Override public void getConfig(LoadTypeConfig.Builder builder) { VespaModel model = (VespaModel) getRoot(); Clients clients = model.getClients(); if (clients != null) { clients.getConfig(builder); } }
private List<ClusterInfoConfig.Services.Ports.Builder> getPorts(Service service) { List<ClusterInfoConfig.Services.Ports.Builder> builders = new ArrayList<>(); PortsMeta portsMeta = service.getPortsMeta(); for (int i = 0; i < portsMeta.getNumPorts(); i++) { builders.add(new ClusterInfoConfig.Services.Ports.Builder() .number(service.getRelativePort(i)) .tags(ApplicationConfigProducerRoot.getPortTags(portsMeta, i)) ); } return builders; }
/** Returns the one and only HostSystem of this VespaModel */ public HostSystem getHostSystem() { return root.getHostSystem(); }
/** * Sets the config id for this producer. Will also add this * service to the root node, so the new config id will be picked * up. Note that this producer will be known with both the old * and the new config id in the root node after using this method. */ protected void addConfigId(String id) { if (id == null) throw new NullPointerException("Config ID cannot be null."); getRoot().addDescendant(id, this); if (!isVespa() && (getVespa() != null)) getVespa().addDescendant(this); }
private List<Services.Builder> getServices(HostResource modelHost) { List<Services.Builder> ret = new ArrayList<>(); for (Service modelService : modelHost.getServices()) { ret.add(new Services.Builder() .name(modelService.getServiceName()) .type(modelService.getServiceType()) .configid(modelService.getConfigId()) .clustertype(modelService.getServicePropertyString("clustertype", "")) .clustername(modelService.getServicePropertyString("clustername", "")) .index(Integer.parseInt(modelService.getServicePropertyString("index", "999999"))) .ports(getPorts(modelService)) ); } return ret; }
ApplicationConfigProducerRoot root) { String indexerName = cluster.getIndexingClusterName(); AbstractConfigProducer parent = root.getChildren().get(ContainerModel.DOCPROC_RESERVED_NAME); if (parent == null) parent = new SimpleConfigProducer(root, ContainerModel.DOCPROC_RESERVED_NAME);
@Override public void getConfig(AllClustersBucketSpacesConfig.Builder builder) { VespaModel model = (VespaModel) getRoot(); for (ContentCluster cluster : model.getContentClusters().values()) { builder.cluster(cluster.getName(), cluster.clusterBucketSpaceConfigBuilder()); } }
private List<Ports.Builder> getPorts(Service modelService) { List<Ports.Builder> ret = new ArrayList<>(); PortsMeta portsMeta = modelService.getPortsMeta(); for (int i = 0; i < portsMeta.getNumPorts(); i++) { ret.add(new Ports.Builder() .number(modelService.getRelativePort(i)) .tags(getPortTags(portsMeta, i)) ); } return ret; }
@Override public void getConfig(ClusterListConfig.Builder builder) { VespaModel model = (VespaModel) getRoot(); for (ContentCluster cluster : model.getContentClusters().values()) { ClusterListConfig.Storage.Builder storage = new ClusterListConfig.Storage.Builder(); storage.name(cluster.getName()); storage.configid(cluster.getConfigId()); builder.storage(storage); } }