aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/HostsXmlProvisioner.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java36
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/Host.java20
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostResource.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java28
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/HostSpecTest.java24
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java13
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidatorTest.java2
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java8
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/HostProvisionerWithCustomRealResource.java45
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java3
-rw-r--r--config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClientTest.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/controller/DecryptionTokenResealer.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java9
-rw-r--r--default_build_settings.cmake4
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java13
22 files changed, 66 insertions, 176 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/HostsXmlProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/HostsXmlProvisioner.java
index acad7532404..99a47bfbd71 100644
--- a/config-model/src/main/java/com/yahoo/config/model/provision/HostsXmlProvisioner.java
+++ b/config-model/src/main/java/com/yahoo/config/model/provision/HostsXmlProvisioner.java
@@ -39,7 +39,7 @@ public class HostsXmlProvisioner implements HostProvisioner {
}
for (Host host : hosts.asCollection()) {
if (host.aliases().contains(alias)) {
- return new HostSpec(host.hostname(), host.aliases(), Optional.empty());
+ return new HostSpec(host.hostname(), Optional.empty());
}
}
throw new IllegalArgumentException("Unable to find host for alias '" + alias + "'");
@@ -54,7 +54,7 @@ public class HostsXmlProvisioner implements HostProvisioner {
}
private HostSpec host2HostSpec(Host host) {
- return new HostSpec(host.hostname(), host.aliases(), Optional.empty());
+ return new HostSpec(host.hostname(), Optional.empty());
}
private Host getFirstHost() {
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java
index 9e48510e704..dd6087eefc7 100644
--- a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java
+++ b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java
@@ -151,7 +151,7 @@ public class InMemoryProvisioner implements HostProvisioner {
List<Host> defaultHosts = freeNodes.get(defaultHostResources);
if (defaultHosts.isEmpty()) throw new IllegalArgumentException("No more hosts with default resources available");
Host newHost = freeNodes.removeValue(defaultHostResources, 0);
- return new HostSpec(newHost.hostname(), List.of(alias), Optional.empty());
+ return new HostSpec(newHost.hostname(), Optional.empty());
}
@Override
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
index c3b91c5da0f..da0fdf47398 100644
--- a/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
+++ b/config-model/src/main/java/com/yahoo/config/model/provision/SingleNodeProvisioner.java
@@ -30,7 +30,7 @@ public class SingleNodeProvisioner implements HostProvisioner {
public SingleNodeProvisioner() {
host = new Host(HostName.getLocalhost());
- this.hostSpec = new HostSpec(host.hostname(), host.aliases(), Optional.empty());
+ this.hostSpec = new HostSpec(host.hostname(), Optional.empty());
}
public SingleNodeProvisioner(Flavor flavor) {
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
index 5f346f366de..80dca3776ae 100644
--- a/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
+++ b/config-model/src/main/java/com/yahoo/config/model/test/MockRoot.java
@@ -4,22 +4,14 @@ package com.yahoo.config.model.test;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
-import com.yahoo.config.model.ConfigModelContext;
import com.yahoo.config.model.ConfigModelRepo;
-import com.yahoo.config.model.api.HostProvisioner;
-import com.yahoo.config.model.builder.xml.XmlHelper;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.model.producer.AbstractConfigProducerRoot;
-import com.yahoo.text.XML;
import com.yahoo.vespa.model.ConfigProducer;
import com.yahoo.vespa.model.HostSystem;
import com.yahoo.vespa.model.admin.Admin;
-import com.yahoo.vespa.model.builder.xml.dom.DomAdminV2Builder;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer;
-import org.w3c.dom.Document;
-import java.io.StringReader;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Set;
@@ -34,13 +26,9 @@ import java.util.Set;
public class MockRoot extends AbstractConfigProducerRoot {
private final HostSystem hostSystem;
-
private final DeployState deployState;
- private Admin admin;
- public MockRoot() {
- this("");
- }
+ public MockRoot() { this(""); }
public MockRoot(String rootConfigId) {
this(rootConfigId, new MockApplicationPackage.Builder().build());
@@ -49,10 +37,6 @@ public class MockRoot extends AbstractConfigProducerRoot {
public MockRoot(String rootConfigId, ApplicationPackage applicationPackage) {
this(rootConfigId, new DeployState.Builder().applicationPackage(applicationPackage).build());
}
- public MockRoot(String rootConfigId, ApplicationPackage applicationPackage, HostProvisioner provisioner) {
- this(rootConfigId, new DeployState.Builder().applicationPackage(applicationPackage)
- .modelHostProvisioner(provisioner).build());
- }
public MockRoot(String rootConfigId, DeployState deployState) {
super(rootConfigId);
@@ -126,24 +110,8 @@ public class MockRoot extends AbstractConfigProducerRoot {
super.addChild(abstractConfigProducer);
}
- public final void setAdmin(String xml) {
- String servicesXml =
- "<?xml version='1.0' encoding='utf-8' ?>" +
- "<services>" + xml + "</services>";
-
- Document doc = XmlHelper.getDocument(new StringReader(servicesXml));
- setAdmin(new DomAdminV2Builder(ConfigModelContext.ApplicationType.DEFAULT, false, new ArrayList<>())
- .build(deployState, this, XML.getChildren(doc.getDocumentElement(), "admin").get(0)));
- }
-
- public final void setAdmin(Admin admin) {
- this.admin = admin;
- }
-
@Override
- public final Admin getAdmin() {
- return admin;
- }
+ public final Admin getAdmin() { return null; }
public DeployLogger deployLogger() {
return deployState.getDeployLogger();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
index bdb33d11225..da4cabcf9f5 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/ConfigSentinel.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model;
-import com.yahoo.config.model.api.ModelContext;
import com.yahoo.cloud.config.SentinelConfig;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Zone;
@@ -25,8 +24,7 @@ public class ConfigSentinel extends AbstractService implements SentinelConfig.Pr
*
* @param host Physical host on which to run.
*/
- public ConfigSentinel(Host host, ApplicationId applicationId, Zone zone)
- {
+ public ConfigSentinel(Host host, ApplicationId applicationId, Zone zone) {
super(host, "sentinel");
this.applicationId = applicationId;
this.zone = zone;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/Host.java b/config-model/src/main/java/com/yahoo/vespa/model/Host.java
index a2c0685c098..1629e580faa 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/Host.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/Host.java
@@ -24,11 +24,11 @@ public final class Host extends AbstractConfigProducer<AbstractConfigProducer<?>
* @param parent parent AbstractConfigProducer in the config model.
* @param hostname hostname for this host.
*/
- public Host(AbstractConfigProducer parent, String hostname) {
+ public Host(AbstractConfigProducer<?> parent, String hostname) {
this(parent, hostname, false);
}
- private Host(AbstractConfigProducer parent, String hostname, boolean runsConfigServer) {
+ private Host(AbstractConfigProducer<?> parent, String hostname, boolean runsConfigServer) {
super(parent, hostname);
Objects.requireNonNull(hostname, "The host name of a host cannot be null");
this.runsConfigServer = runsConfigServer;
@@ -37,19 +37,11 @@ public final class Host extends AbstractConfigProducer<AbstractConfigProducer<?>
((HostSystem)parent).checkName(hostname);
}
- public static Host createConfigServerHost(AbstractConfigProducer parent, String hostname) {
- return new Host(parent, hostname, true);
+ public static Host createConfigServerHost(HostSystem hostSystem, String hostname) {
+ return new Host(hostSystem, hostname, true);
}
- public static Host createHost(AbstractConfigProducer parent, String hostname) {
- return new Host(parent, hostname, false);
- }
-
- // For testing
- Host(AbstractConfigProducer parent) {
- super(parent, "testhost");
- hostname = "testhost";
- configSentinel = null;
- runsConfigServer = false;
+ public static Host createHost(HostSystem hostSystem, String hostname) {
+ return new Host(hostSystem, hostname, false);
}
public String getHostname() {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
index d12f116d61f..7aa8cb25a38 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
@@ -37,7 +37,7 @@ public class HostResource implements Comparable<HostResource> {
* @param host {@link com.yahoo.vespa.model.Host} object to bind to.
*/
public HostResource(Host host) {
- this(host, new HostSpec(host.getHostname(), List.of(), Optional.empty()));
+ this(host, new HostSpec(host.getHostname(), Optional.empty()));
}
public HostResource(Host host, HostSpec spec) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
index 48b804dfe6c..25ad61528a5 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostSystem.java
@@ -9,8 +9,6 @@ import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.ProvisionLogger;
-import com.yahoo.net.HostName;
-
import java.net.UnknownHostException;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
@@ -72,27 +70,6 @@ public class HostSystem extends AbstractConfigProducer<Host> {
}
}
- /**
- * Returns the host with the given hostname.
- *
- * @param name the hostname of the host
- * @return the host with the given hostname, or null if no such host
- */
- public HostResource getHostByHostname(String name) {
- String localhost = "localhost";
- HostResource hostResource = hostname2host.get(name);
- if (hostResource == null) {
- // Create a new HostResource if this is the host this code is running on (as it is when running tests)
- if (HostName.getLocalhost().equals(name)) {
- if (! getChildren().containsKey(localhost)) {
- new Host(this, localhost);
- }
- hostResource = new HostResource(getChildren().get(localhost));
- }
- }
- return hostResource;
- }
-
@Override
public String toString() {
return "hosts [" + hostname2host.values().stream()
@@ -122,6 +99,11 @@ public class HostSystem extends AbstractConfigProducer<Host> {
.toList();
}
+ /** Returns the hosts in this system */
+ public List<HostResource> getAllHosts() {
+ return hostname2host.values().stream().toList();
+ }
+
public void dumpPortAllocations() {
for (HostResource hr : getHosts()) {
hr.ports().flushPortReservations();
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/HostSpecTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/HostSpecTest.java
index 734385cb4ad..a2c0f258e14 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/HostSpecTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/HostSpecTest.java
@@ -3,7 +3,6 @@ package com.yahoo.config.model.provision;
import com.yahoo.config.provision.HostSpec;
import org.junit.jupiter.api.Test;
-import java.util.List;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -16,30 +15,21 @@ public class HostSpecTest {
@Test
void testEquals() {
- HostSpec h1 = new HostSpec("foo", List.of(), Optional.empty());
- HostSpec h2 = new HostSpec("foo", List.of(), Optional.empty());
- HostSpec h3 = new HostSpec("foo", List.of("my", "alias"), Optional.empty());
- HostSpec h4 = new HostSpec("bar", List.of(), Optional.empty());
+ HostSpec h1 = new HostSpec("foo", Optional.empty());
+ HostSpec h2 = new HostSpec("foo", Optional.empty());
+ HostSpec h3 = new HostSpec("bar", Optional.empty());
assertEquals(h1, h1);
assertEquals(h1, h2);
- assertEquals(h1, h3);
- assertNotEquals(h1, h4);
+ assertNotEquals(h1, h3);
assertEquals(h2, h1);
assertEquals(h2, h2);
- assertEquals(h2, h3);
- assertNotEquals(h2, h4);
+ assertNotEquals(h2, h3);
- assertEquals(h3, h1);
- assertEquals(h3, h2);
+ assertNotEquals(h3, h1);
+ assertNotEquals(h3, h2);
assertEquals(h3, h3);
- assertNotEquals(h3, h4);
-
- assertNotEquals(h4, h1);
- assertNotEquals(h4, h2);
- assertNotEquals(h4, h3);
- assertEquals(h4, h4);
}
}
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
index 720ff1cebf0..90b4625a282 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
@@ -155,11 +155,10 @@ public class ModelProvisioningTest {
assertEquals(45, qrsStartConfig.jvm().heapSizeAsPercentageOfPhysicalMemory());
HostSystem hostSystem = model.hostSystem();
- assertNotNull(hostSystem.getHostByHostname("myhost0"));
- assertNotNull(hostSystem.getHostByHostname("myhost1"));
- assertNotNull(hostSystem.getHostByHostname("myhost2"));
- assertNotNull(hostSystem.getHostByHostname("myhost3"));
- assertNull(hostSystem.getHostByHostname("Nope"));
+ assertTrue(hostNameExists(hostSystem, "myhost0"));
+ assertTrue(hostNameExists(hostSystem, "myhost1"));
+ assertTrue(hostNameExists(hostSystem, "myhost2"));
+ assertFalse(hostNameExists(hostSystem, "Nope"));
}
@Test
@@ -2570,6 +2569,10 @@ public class ModelProvisioningTest {
assertProvisioned(nodeCount, id, null, type, model);
}
+ private static boolean hostNameExists(HostSystem hostSystem, String hostname) {
+ return hostSystem.getHosts().stream().map(HostResource::getHost).anyMatch(host -> host.getHostname().equals(hostname));
+ }
+
record TestLogger(List<LogMessage> msgs) implements DeployLogger {
public TestLogger() {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidatorTest.java
index 7080a3e0f12..87e1d3f0479 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/NodeResourceChangeValidatorTest.java
@@ -105,7 +105,7 @@ public class NodeResourceChangeValidatorTest {
@Override
public HostSpec allocateHost(String alias) {
- return new HostSpec(alias, List.of(), Optional.empty());
+ return new HostSpec(alias, Optional.empty());
}
@Override
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
index a38f0ebe476..2063f0cdbdf 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
@@ -9,6 +9,7 @@ import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.deploy.TestProperties;
import com.yahoo.config.model.test.MockRoot;
import com.yahoo.text.XML;
+import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.admin.Admin;
import com.yahoo.vespa.model.admin.Configserver;
import com.yahoo.vespa.model.admin.Slobrok;
@@ -20,7 +21,10 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* @author hmusum
@@ -115,7 +119,7 @@ public class DomAdminV2BuilderTest extends DomBuilderTest {
Admin admin = buildAdmin(servicesMultitenantAdminOnly(), true, configServerSpecs);
assertEquals(3, admin.getConfigservers().size());
assertEquals(1, admin.getSlobroks().size());
- assertNotNull(admin.hostSystem().getHostByHostname("test1"));
+ assertTrue(admin.hostSystem().getAllHosts().stream().map(HostResource::getHost).anyMatch(host -> host.getHostname().equals("test1")));
for (Configserver configserver : admin.getConfigservers()) {
for (Slobrok slobrok : admin.getSlobroks()) {
assertNotEquals(configserver.getHostName(), slobrok.getHostName());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java
index 97951ab5a20..31287ddf089 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilderTest.java
@@ -95,7 +95,6 @@ public class VespaDomBuilderTest {
HostSystem hostSystem = model.hostSystem();
assertEquals(1, hostSystem.getHosts().size());
HostResource host = hostSystem.getHosts().get(0);
- assertEquals(hostSystem.getHostByHostname(host.getHostname()), host);
assertNotNull(hostSystem.getHost("node1"));
assertEquals("hosts [" + host.getHostname() + "]", hostSystem.toString());
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/HostProvisionerWithCustomRealResource.java b/config-model/src/test/java/com/yahoo/vespa/model/container/HostProvisionerWithCustomRealResource.java
deleted file mode 100644
index e8f30d59aa9..00000000000
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/HostProvisionerWithCustomRealResource.java
+++ /dev/null
@@ -1,45 +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.container;
-
-import com.yahoo.config.model.api.HostProvisioner;
-import com.yahoo.config.model.provision.Host;
-import com.yahoo.config.provision.Capacity;
-import com.yahoo.config.provision.ClusterMembership;
-import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostSpec;
-import com.yahoo.config.provision.NodeResources;
-import com.yahoo.config.provision.ProvisionLogger;
-import com.yahoo.net.HostName;
-
-import java.util.List;
-import java.util.Optional;
-
-/**
- * @author bjorncs
- */
-public class HostProvisionerWithCustomRealResource implements HostProvisioner {
-
- private final int vcpu;
-
- public HostProvisionerWithCustomRealResource(int vcpu) { this.vcpu = vcpu; }
- public HostProvisionerWithCustomRealResource() { this(4); }
-
- @Override
- public HostSpec allocateHost(String alias) {
- Host host = new Host(HostName.getLocalhost());
- ClusterMembership membership = ClusterMembership.from(
- ClusterSpec
- .specification(
- ClusterSpec.Type.container,
- ClusterSpec.Id.from("id"))
- .vespaVersion("")
- .group(ClusterSpec.Group.from(0))
- .build(),
- 0);
- return new HostSpec(
- host.hostname(), new NodeResources(vcpu, 0, 0, 0), NodeResources.unspecified(), NodeResources.unspecified(),
- membership, Optional.empty(), Optional.empty(), Optional.empty());
- }
-
- @Override public List<HostSpec> prepare(ClusterSpec cluster, Capacity capacity, ProvisionLogger logger) { return List.of(); }
-}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
index cb17bceb4ca..7a5429f8697 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/HostSpec.java
@@ -38,7 +38,8 @@ public class HostSpec implements Comparable<HostSpec> {
Optional.empty(), Optional.empty(), networkPorts, Optional.empty());
}
- // TODO: Remove usage
+ // TODO: Remove when oldest model in use is 8.124
+ @Deprecated
public HostSpec(String hostname, List<String> ignored, Optional<NetworkPorts> networkPorts) {
this(hostname,
NodeResources.unspecified(), NodeResources.unspecified(), NodeResources.unspecified(),
diff --git a/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java b/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java
index 5e30e8fa99c..0cba953e8f5 100644
--- a/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java
+++ b/config-provisioning/src/test/java/com/yahoo/config/provision/serialization/AllocatedHostsSerializerTest.java
@@ -37,8 +37,8 @@ public class AllocatedHostsSerializerTest {
@Test
void testAllocatedHostsSerialization() throws IOException {
Set<HostSpec> hosts = new LinkedHashSet<>();
- hosts.add(new HostSpec("empty", List.of(), Optional.empty()));
- hosts.add(new HostSpec("with-aliases", List.of("alias1", "alias2"), Optional.empty()));
+ hosts.add(new HostSpec("empty", Optional.empty()));
+ hosts.add(new HostSpec("with-aliases", Optional.empty()));
hosts.add(new HostSpec("allocated",
smallSlowDiskSpeedNode,
bigSlowDiskSpeedNode,
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index 76eb61ed141..bfa1e7502e8 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -65,7 +65,6 @@ import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -562,9 +561,7 @@ public class ApplicationRepositoryTest {
AllocatedHosts info = session.getAllocatedHosts();
assertNotNull(info);
assertEquals(1, info.getHosts().size());
- assertTrue(info.getHosts().contains(new HostSpec("mytesthost2",
- Collections.emptyList(),
- Optional.empty())));
+ assertTrue(info.getHosts().contains(new HostSpec("mytesthost2", Optional.empty())));
Optional<NetworkPorts> portsCopy = info.getHosts().iterator().next().networkPorts();
assertTrue(portsCopy.isPresent());
assertEquals(list, portsCopy.get().allocations());
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClientTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClientTest.java
index fd6440a9632..2d42cb12076 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClientTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/ZooKeeperClientTest.java
@@ -160,8 +160,8 @@ public class ZooKeeperClientTest {
Path app = Path.fromString("/1");
ZooKeeperClient zooKeeperClient = new ZooKeeperClient(zk, logger, app);
zooKeeperClient.initialize();
- HostSpec host1 = new HostSpec("host1.yahoo.com", Collections.emptyList(), Optional.empty());
- HostSpec host2 = new HostSpec("host2.yahoo.com", Collections.emptyList(), Optional.empty());
+ HostSpec host1 = new HostSpec("host1.yahoo.com", Optional.empty());
+ HostSpec host2 = new HostSpec("host2.yahoo.com", Optional.empty());
ImmutableSet<HostSpec> hosts = ImmutableSet.of(host1, host2);
zooKeeperClient.write(AllocatedHosts.withHosts(hosts));
Path hostsPath = app.append(ZKApplicationPackage.allocatedHostsNode);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/controller/DecryptionTokenResealer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/controller/DecryptionTokenResealer.java
index 758f68d6030..7addf83c67c 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/controller/DecryptionTokenResealer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/controller/DecryptionTokenResealer.java
@@ -29,11 +29,16 @@ class DecryptionTokenResealer {
if (!expectedKeyName.equals(keyName)) {
throw new IllegalArgumentException("Token is not generated for the expected key");
}
+ int keyVersion;
try {
- return Integer.parseUnsignedInt(components[1]);
+ keyVersion = Integer.parseInt(components[1]);
} catch (IllegalArgumentException e) {
- throw new IllegalArgumentException("Key version is not a valid unsigned integer");
+ throw new IllegalArgumentException("Key version is not a valid integer");
}
+ if (keyVersion < 0) {
+ throw new IllegalArgumentException("Key version is out of range");
+ }
+ return keyVersion;
}
/**
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java
index cb35c85b960..a4b18a06fb8 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/ControllerApiTest.java
@@ -282,12 +282,17 @@ public class ControllerApiTest extends ControllerContainerTest {
tester.assertResponse(
() -> operatorRequest("http://localhost:8080/controller/v1/access/cores/reseal",
requestJsonOf(createResealingRequestData("a-really-cool-key.123asdf")), Request.Method.POST),
- "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Key version is not a valid unsigned integer\"}",
+ "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Key version is not a valid integer\"}",
400);
tester.assertResponse(
() -> operatorRequest("http://localhost:8080/controller/v1/access/cores/reseal",
requestJsonOf(createResealingRequestData("a-really-cool-key.-123")), Request.Method.POST),
- "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Key version is not a valid unsigned integer\"}",
+ "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Key version is out of range\"}",
+ 400);
+ tester.assertResponse(
+ () -> operatorRequest("http://localhost:8080/controller/v1/access/cores/reseal",
+ requestJsonOf(createResealingRequestData("a-really-cool-key.%d".formatted((long)Integer.MAX_VALUE + 1))), Request.Method.POST),
+ "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Key version is not a valid integer\"}",
400);
}
diff --git a/default_build_settings.cmake b/default_build_settings.cmake
index a14bc0aeb8d..7d2aab4e3d5 100644
--- a/default_build_settings.cmake
+++ b/default_build_settings.cmake
@@ -130,8 +130,12 @@ function(vespa_use_default_build_settings)
message("-- CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}")
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
if(APPLE AND (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")))
+ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ # Require haswell cpu or newer when compiling with clang on linux.
+ set(DEFAULT_VESPA_CPU_ARCH_FLAGS "-march=haswell -mtune=skylake")
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)
+ # Temporary workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108599
set(DEFAULT_VESPA_CPU_ARCH_FLAGS "-march=ivybridge")
else()
set(DEFAULT_VESPA_CPU_ARCH_FLAGS "-mtune=intel")
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index 6fc45c31ff8..7eb939265bb 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -303,13 +303,6 @@ public class Flags {
APPLICATION_ID,HOSTNAME,NODE_TYPE,TENANT_ID,VESPA_VERSION
);
- public static final UnboundBooleanFlag CLEANUP_TENANT_ROLES = defineFeatureFlag(
- "cleanup-tenant-roles", true,
- List.of("olaa"), "2022-08-10", "2023-02-14",
- "Determines whether old tenant roles should be deleted",
- "Takes effect next maintenance run"
- );
-
public static final UnboundBooleanFlag RESTRICT_DATA_PLANE_BINDINGS = defineFeatureFlag(
"restrict-data-plane-bindings", false,
List.of("mortent"), "2022-09-08", "2023-05-01",
@@ -338,12 +331,6 @@ public class Flags {
"Takes effect on configserver restart",
HOSTNAME);
- public static final UnboundBooleanFlag ENABLED_MAIL_VERIFICATION = defineFeatureFlag(
- "enabled-mail-verification", true,
- List.of("olaa"), "2022-10-28", "2023-02-14",
- "Enable mail verification",
- "Takes effect immediately");
-
public static final UnboundStringFlag CORE_ENCRYPTION_PUBLIC_KEY_ID = defineStringFlag(
"core-encryption-public-key-id", "",
List.of("vekterli"), "2022-11-03", "2023-05-01",