aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-08 17:27:39 +0200
committerjonmv <venstad@gmail.com>2022-04-08 17:27:39 +0200
commit0ee94a18e5420f7f77aec110c8ff0a67a661a7ef (patch)
treed1592c6ed5f01ad1c820c403b8a9590373944b66
parent4ffc54339186574491a32b3166223c3fc50ba8fe (diff)
Revert "Merge pull request #22065 from vespa-engine/revert-22049-jonmv/unify-hostname-classes"
This reverts commit 4ffc54339186574491a32b3166223c3fc50ba8fe, reversing changes made to db9e570a36decb24e6cb13f44bd0ff444ab762e3.
-rw-r--r--config-lib/src/main/java/com/yahoo/config/PathNode.java2
-rw-r--r--config-lib/src/test/java/com/yahoo/config/FileNodeTest.java5
-rw-r--r--config-lib/src/test/java/com/yahoo/config/PathNodeTest.java5
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/IdentityProvider.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java10
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java15
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java47
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/security/NodeIdentity.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java4
-rw-r--r--container-core/src/test/java/com/yahoo/restapi/PathTest.java6
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java4
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java13
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java6
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java8
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java9
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java7
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java7
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java18
-rw-r--r--controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ChangeManagementAssessor.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NodeVersionSerializer.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java7
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandler.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java5
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/dns/NameServiceQueueTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java10
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemRoutingPolicyMaintainerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/NameServiceQueueSerializerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/OsVersionStatusSerializerTest.java10
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyRequestTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-nodes.json2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-details.json24
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-log.json24
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java14
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java4
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java4
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerInstance.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerServiceMock.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/Real.java10
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDuperModel.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java8
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java8
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImplTest.java5
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java5
-rw-r--r--orchestrator/src/test/java/com/yahoo/vespa/orchestrator/OrchestratorTest.java8
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java2
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java2
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthEndpoint.java2
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthModel.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/model/ServiceMonitorImpl.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/monitor/DuperModelInfraApi.java2
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelManagerTest.java10
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelTest.java12
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/health/ApplicationHealthMonitorTest.java6
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java8
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java4
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java4
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/model/ServiceHostListenerAdapterTest.java2
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/ConfigserverUtil.java4
-rw-r--r--vespajlib/abi-spec.json2
-rw-r--r--vespajlib/src/main/java/ai/vespa/http/DomainName.java6
-rw-r--r--vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java2
-rw-r--r--vespajlib/src/main/java/com/yahoo/net/HostName.java9
111 files changed, 312 insertions, 366 deletions
diff --git a/config-lib/src/main/java/com/yahoo/config/PathNode.java b/config-lib/src/main/java/com/yahoo/config/PathNode.java
index 03e6fb51086..ea4c657af8c 100644
--- a/config-lib/src/main/java/com/yahoo/config/PathNode.java
+++ b/config-lib/src/main/java/com/yahoo/config/PathNode.java
@@ -25,7 +25,7 @@ public class PathNode extends LeafNode<Path> {
super(true);
this.value = Path.of(fileReference.value());
if (value.normalize().toString().startsWith(".."))
- throw new IllegalArgumentException("path may not start with '..', but got :" + value);
+ throw new IllegalArgumentException("path may not start with '..', but got: " + value);
this.fileReference = fileReference;
}
diff --git a/config-lib/src/test/java/com/yahoo/config/FileNodeTest.java b/config-lib/src/test/java/com/yahoo/config/FileNodeTest.java
index 1ad9f722eca..42e4978091d 100644
--- a/config-lib/src/test/java/com/yahoo/config/FileNodeTest.java
+++ b/config-lib/src/test/java/com/yahoo/config/FileNodeTest.java
@@ -23,9 +23,8 @@ public class FileNodeTest {
assertEquals("foo.txt", n.value().value());
assertEquals("\"foo.txt\"", n.toString());
- assertThrows("path may not start with '..', but got: foo/../../boo",
- IllegalArgumentException.class,
- () -> new FileNode("foo/../../boo"));
+ assertEquals("path may not start with '..', but got: foo/../../boo",
+ assertThrows(IllegalArgumentException.class, () -> new FileNode("foo/../../boo")).getMessage());
}
}
diff --git a/config-lib/src/test/java/com/yahoo/config/PathNodeTest.java b/config-lib/src/test/java/com/yahoo/config/PathNodeTest.java
index 2240f647726..016c53b42e3 100644
--- a/config-lib/src/test/java/com/yahoo/config/PathNodeTest.java
+++ b/config-lib/src/test/java/com/yahoo/config/PathNodeTest.java
@@ -22,9 +22,8 @@ public class PathNodeTest {
n = new PathNode(new FileReference("foo.txt"));
assertEquals(new File("foo.txt").toPath(), n.value());
- assertThrows("path may not start with '..', but got: foo/../../boo",
- IllegalArgumentException.class,
- () -> new PathNode(new FileReference("foo/../../boo")));
+ assertEquals("path may not start with '..', but got: foo/../../boo",
+ assertThrows(IllegalArgumentException.class, () -> new PathNode(new FileReference("foo/../../boo"))).getMessage());
}
}
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index 9453f489029..6ee55ff7f39 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -9,7 +9,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.DockerImage;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.Zone;
import java.io.File;
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index 8366dde383b..b2a814b6759 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -10,7 +10,7 @@ import com.yahoo.config.model.api.TenantSecretStore;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.Zone;
import java.net.URI;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/IdentityProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/container/IdentityProvider.java
index 7ce2425179b..de725efee50 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/IdentityProvider.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/IdentityProvider.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.model.container;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.AthenzService;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.bundle.BundleInstantiationSpecification;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 17690c6ecab..78d9c0f8dda 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -27,7 +27,7 @@ import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.Zone;
@@ -1066,10 +1066,10 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
// TODO: Remove this method and use the loadbalancerName directly
return Optional.ofNullable(loadbalancerName)
.orElseGet(
- () -> HostName.from(configServerSpecs.stream()
- .findFirst()
- .map(ConfigServerSpec::getHostName)
- .orElse("unknown") // Currently unable to test this, hence the unknown
+ () -> HostName.of(configServerSpecs.stream()
+ .findFirst()
+ .map(ConfigServerSpec::getHostName)
+ .orElse("unknown") // Currently unable to test this, hence the unknown
));
}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java
index c686a813c9f..1e0c554af81 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/parser/IntermediateParserTestCase.java
@@ -74,13 +74,14 @@ public class IntermediateParserTestCase {
@Test
public void backwards_path_is_disallowed() {
- assertThrows("'..' is not allowed in path", IllegalArgumentException.class,
- () -> parseString("schema foo {\n" +
- " constant my_constant_tensor {\n" +
- " file: foo/../bar\n" +
- " type: tensor<float>(x{},y{})\n" +
- " }\n" +
- "}\n"));
+ assertEquals("'..' is not allowed in path",
+ assertThrows(IllegalArgumentException.class,
+ () -> parseString("schema foo {\n" +
+ " constant my_constant_tensor {\n" +
+ " file: foo/../bar\n" +
+ " type: tensor<float>(x{},y{})\n" +
+ " }\n" +
+ "}\n")).getMessage());
}
void checkFileParses(String fileName) throws Exception {
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java b/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java
deleted file mode 100644
index 04b15af51f2..00000000000
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/HostName.java
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.config.provision;
-
-import java.util.Objects;
-
-/**
- * A host name
- *
- * @author mortent
- */
-public class HostName implements Comparable<HostName> {
-
- private final String name;
-
- private HostName(String name) {
- this.name = name;
- }
-
- public String value() { return name; }
-
- /** Create a {@link HostName} with a given name */
- public static HostName from(String name) {
- return new HostName(name);
- }
-
- @Override
- public int hashCode() {
- return name.hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof HostName)) return false;
- return Objects.equals(((HostName)obj).value(), value());
- }
-
- @Override
- public String toString() {
- return name;
- }
-
- @Override
- public int compareTo(HostName that) {
- return this.name.compareTo(that.name);
- }
-
-}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/security/NodeIdentity.java b/config-provisioning/src/main/java/com/yahoo/config/provision/security/NodeIdentity.java
index cd068933923..28ca7cc769a 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/security/NodeIdentity.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/security/NodeIdentity.java
@@ -2,7 +2,7 @@
package com.yahoo.config.provision.security;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import java.util.Objects;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index fe9ab82637f..91bdc3e5fa8 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -21,10 +21,10 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.DockerImage;
-import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.secretstore.SecretStore;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.config.server.tenant.SecretStoreExternalIdRetriever;
import com.yahoo.vespa.flags.FetchVector;
import com.yahoo.vespa.flags.FlagSource;
@@ -398,7 +398,7 @@ public class ModelContextImpl implements ModelContext {
this.applicationId = applicationId;
this.multitenant = configserverConfig.multitenant() || configserverConfig.hostedVespa() || Boolean.getBoolean("multitenant");
this.configServerSpecs = fromConfig(configserverConfig);
- this.loadBalancerName = HostName.from(configserverConfig.loadBalancerAddress());
+ this.loadBalancerName = configserverConfig.loadBalancerAddress().isEmpty() ? null : HostName.of(configserverConfig.loadBalancerAddress());
this.ztsUrl = configserverConfig.ztsUrl() != null ? URI.create(configserverConfig.ztsUrl()) : null;
this.athenzDnsSuffix = configserverConfig.athenzDnsSuffix();
this.hostedVespa = configserverConfig.hostedVespa();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
index 30d3dcffc30..c0392f12e8a 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/security/MultiTenantRpcAuthorizerTest.java
@@ -5,7 +5,7 @@ import com.yahoo.cloud.config.LbServicesConfig;
import com.yahoo.cloud.config.SentinelConfig;
import com.yahoo.config.FileReference;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.security.NodeIdentifier;
import com.yahoo.config.provision.security.NodeIdentifierException;
@@ -56,7 +56,7 @@ public class MultiTenantRpcAuthorizerTest {
private static final List<X509Certificate> PEER_CERTIFICATE_CHAIN = List.of(createDummyCertificate());
private static final ApplicationId APPLICATION_ID = ApplicationId.from("mytenant", "myapplication", "default");
private static final ApplicationId EVIL_APP_ID = ApplicationId.from("malice", "malice-app", "default");
- private static final HostName HOSTNAME = HostName.from("myhostname");
+ private static final HostName HOSTNAME = HostName.of("myhostname");
private static final FileReference FILE_REFERENCE = new FileReference("myfilereference");
@SuppressWarnings("deprecation")
diff --git a/container-core/src/test/java/com/yahoo/restapi/PathTest.java b/container-core/src/test/java/com/yahoo/restapi/PathTest.java
index 17b35a6343c..b0392c16e2e 100644
--- a/container-core/src/test/java/com/yahoo/restapi/PathTest.java
+++ b/container-core/src/test/java/com/yahoo/restapi/PathTest.java
@@ -68,9 +68,9 @@ public class PathTest {
public void testUrlEncodedPath() {
assertTrue(new Path(URI.create("/a/%62/c")).matches("/a/b/c"));
assertFalse(new Path(URI.create("/a/b%2fc"), __ -> { }).matches("/a/b/c"));
- assertThrows("path segments cannot be \"\", \".\", or \"..\", but got: '..'",
- IllegalArgumentException.class,
- () -> new Path(URI.create("/foo")).matches("/foo/bar/%2e%2e"));
+ assertEquals("path segments cannot be \"\", \".\", or \"..\", but got: '..'",
+ assertThrows(IllegalArgumentException.class,
+ () -> new Path(URI.create("/foo")).matches("/foo/bar/%2e%2e")).getMessage());
Path path = new Path(URI.create("/%61/%2f/%63"), __ -> { });
assertTrue(path.matches("/a/{slash}/{c}"));
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
index 77b8118784a..8e22b079263 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
@@ -2,10 +2,10 @@
package com.yahoo.vespa.hosted.controller.api.application.v4;
import com.fasterxml.jackson.databind.JsonNode;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.InstanceInformation;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.identifiers.EnvironmentId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.Hostname;
import com.yahoo.vespa.hosted.controller.api.identifiers.InstanceId;
import com.yahoo.vespa.hosted.controller.api.identifiers.RegionId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
@@ -51,7 +51,7 @@ public interface EnvironmentResource {
@PathParam("environmentId") EnvironmentId environmentId,
@PathParam("regionId") RegionId regionId,
@PathParam("instanceId") InstanceId instanceId,
- @QueryParam("hostname") Hostname hostname);
+ @QueryParam("hostname") HostName hostname);
@GET
@Path("{environmentId}/region/{regionId}/instance/{instanceId}")
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java
deleted file mode 100644
index fc46c92189d..00000000000
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.controller.api.identifiers;
-
-/**
- * @author smorgrav
- */
-public class Hostname extends Identifier {
-
- public Hostname(String hostname) {
- super(hostname);
- }
-
-}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
index ecd58bc292c..2c20ab904bc 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
@@ -2,13 +2,12 @@
package com.yahoo.vespa.hosted.controller.api.integration.aws;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
/**
* @author olaa
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
index 18be3a414a5..073a6224ee8 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
@@ -2,11 +2,10 @@
package com.yahoo.vespa.hosted.controller.api.integration.aws;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneApi;
import java.util.Map;
-import java.util.Optional;
/**
* @author olaa
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
index 015d7dce33b..74bcfbffb1a 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.Objects;
import java.util.Optional;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
index d82b9c97187..2afe5e516ed 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.DockerImage;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
@@ -530,7 +530,7 @@ public class Node {
}
public Builder hostname(String hostname) {
- return hostname(HostName.from(hostname));
+ return hostname(HostName.of(hostname));
}
public Builder hostname(HostName hostname) {
@@ -539,7 +539,7 @@ public class Node {
}
public Builder parentHostname(String parentHostname) {
- return parentHostname(HostName.from(parentHostname));
+ return parentHostname(HostName.of(parentHostname));
}
public Builder parentHostname(HostName parentHostname) {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
index 7b209d231c4..a564037a676 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.Objects;
import java.util.Set;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
index 395f0642965..56b176d529b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.zone.ZoneId;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
index f0ed73c2dc9..b8d827ac24e 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.google.common.collect.ImmutableList;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.List;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
index 0f410ede864..e429731ba52 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
@@ -1,10 +1,12 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.deployment;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
+import java.net.InetAddress;
import java.net.URI;
import java.util.List;
import java.util.Optional;
@@ -32,10 +34,10 @@ public interface TesterCloud {
boolean testerReady(DeploymentId deploymentId);
/** Returns the IP address of the given host name, if any. */
- Optional<String> resolveHostName(HostName hostname);
+ Optional<InetAddress> resolveHostName(DomainName hostname);
/** Returns the host name of the given CNAME, if any. */
- Optional<HostName> resolveCname(HostName hostName);
+ Optional<DomainName> resolveCname(DomainName hostName);
/** Returns the test report as JSON if available */
Optional<TestReport> getTestReport(DeploymentId deploymentId);
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
index eeac395e8e1..81d55c50d69 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import java.util.Objects;
@@ -12,11 +13,11 @@ import java.util.Objects;
*/
public abstract class AliasTarget {
- private final HostName name;
+ private final DomainName name;
private final String dnsZone;
private final String id;
- public AliasTarget(HostName name, String dnsZone, String id) {
+ public AliasTarget(DomainName name, String dnsZone, String id) {
this.name = Objects.requireNonNull(name, "name must be non-null");
this.dnsZone = Objects.requireNonNull(dnsZone, "dnsZone must be non-null");
this.id = Objects.requireNonNull(id, "id must be non-null");
@@ -28,7 +29,7 @@ public abstract class AliasTarget {
}
/** DNS name this points to */
- public final HostName name() {
+ public final DomainName name() {
return name;
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
index 170cad8cd5b..c898796f4ea 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.Objects;
@@ -15,7 +16,7 @@ public class LatencyAliasTarget extends AliasTarget {
private final ZoneId zone;
- public LatencyAliasTarget(HostName name, String dnsZone, ZoneId zone) {
+ public LatencyAliasTarget(DomainName name, String dnsZone, ZoneId zone) {
super(name, dnsZone, zone.value());
this.zone = Objects.requireNonNull(zone);
}
@@ -59,7 +60,7 @@ public class LatencyAliasTarget extends AliasTarget {
if (!"latency".equals(parts[0])) {
throw new IllegalArgumentException("Unexpected type '" + parts[0] + "'");
}
- return new LatencyAliasTarget(HostName.from(parts[1]), parts[2], ZoneId.from(parts[3]));
+ return new LatencyAliasTarget(HostName.of(parts[1]), parts[2], ZoneId.from(parts[3]));
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
index 963cf74b948..c26c17cfc11 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.Objects;
@@ -18,7 +19,7 @@ public class WeightedAliasTarget extends AliasTarget {
private final long weight;
- public WeightedAliasTarget(HostName name, String dnsZone, ZoneId zone, long weight) {
+ public WeightedAliasTarget(DomainName name, String dnsZone, ZoneId zone, long weight) {
super(name, dnsZone, zone.value());
this.weight = weight;
if (weight < 0) throw new IllegalArgumentException("Weight cannot be negative");
@@ -63,7 +64,7 @@ public class WeightedAliasTarget extends AliasTarget {
if (!"weighted".equals(parts[0])) {
throw new IllegalArgumentException("Unexpected type '" + parts[0] + "'");
}
- return new WeightedAliasTarget(HostName.from(parts[1]), parts[2], ZoneId.from(parts[3]),
+ return new WeightedAliasTarget(HostName.of(parts[1]), parts[2], ZoneId.from(parts[3]),
Long.parseLong(parts[4]));
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
index 72457a6a45e..0a58d10fdf6 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.api.integration.noderepository;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServer;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
index cf6b592b7a5..5496b6022fd 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.stubs;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.TestReport;
@@ -10,7 +11,9 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService;
import com.yahoo.vespa.hosted.controller.api.integration.dns.Record;
import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordName;
+import java.net.InetAddress;
import java.net.URI;
+import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -57,15 +60,20 @@ public class MockTesterCloud implements TesterCloud {
}
@Override
- public Optional<String> resolveHostName(HostName hostname) {
- return Optional.of("1.2.3.4");
+ public Optional<InetAddress> resolveHostName(DomainName hostname) {
+ try {
+ return Optional.of(InetAddress.getByAddress(new byte[]{ 1, 2, 3, 4 }));
+ }
+ catch (UnknownHostException e) {
+ throw new IllegalStateException("should not happen");
+ }
}
@Override
- public Optional<HostName> resolveCname(HostName hostName) {
+ public Optional<DomainName> resolveCname(DomainName hostName) {
return nameService.findRecords(Record.Type.CNAME, RecordName.from(hostName.value())).stream()
.findFirst()
- .map(record -> HostName.from(record.data().asString().substring(0, record.data().asString().length() - 1)));
+ .map(record -> DomainName.of(record.data().asString().substring(0, record.data().asString().length() - 1)));
}
@Override
diff --git a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
index ff0fd9e460f..ebeddf83169 100644
--- a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
+++ b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import org.junit.Test;
@@ -18,8 +18,8 @@ public class AliasTargetTest {
@Test
public void packing() {
List<AliasTarget> tests = List.of(
- new LatencyAliasTarget(HostName.from("foo.example.com"), "dns-zone-1", ZoneId.from("prod.us-north-1")),
- new WeightedAliasTarget(HostName.from("bar.example.com"), "dns-zone-2", ZoneId.from("prod.us-north-2"), 50)
+ new LatencyAliasTarget(HostName.of("foo.example.com"), "dns-zone-1", ZoneId.from("prod.us-north-1")),
+ new WeightedAliasTarget(HostName.of("bar.example.com"), "dns-zone-2", ZoneId.from("prod.us-north-2"), 50)
);
for (var target : tests) {
AliasTarget unpacked = AliasTarget.unpack(target.pack());
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
index c35e8c5a7ac..d6ddf968b6c 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
@@ -282,8 +282,8 @@ public class Controller extends AbstractComponent {
}
/** Returns the hostname of this controller */
- public com.yahoo.config.provision.HostName hostname() {
- return com.yahoo.config.provision.HostName.from(hostnameSupplier.get());
+ public HostName hostname() {
+ return HostName.of(hostnameSupplier.get());
}
public SystemName system() {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
index beef090d214..c6ba65c4886 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.deployment;
+import ai.vespa.http.DomainName;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeploymentInstanceSpec;
import com.yahoo.config.application.api.DeploymentSpec;
@@ -10,7 +11,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.AthenzService;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.RoutingMethod;
@@ -23,7 +24,6 @@ import com.yahoo.security.X509CertificateBuilder;
import com.yahoo.security.X509CertificateUtils;
import com.yahoo.text.Text;
import com.yahoo.vespa.flags.FetchVector;
-import com.yahoo.vespa.flags.FlagSource;
import com.yahoo.vespa.flags.Flags;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.Controller;
@@ -512,7 +512,7 @@ public class InternalStepRunner implements StepRunner {
return false;
}
for (var endpoint : endpoints.get(zone)) {
- HostName endpointName = HostName.from(endpoint.dnsName());
+ DomainName endpointName = DomainName.of(endpoint.dnsName());
var ipAddress = controller.jobController().cloud().resolveHostName(endpointName);
if (ipAddress.isEmpty()) {
logger.log(INFO, "DNS lookup yielded no IP address for '" + endpointName + "'.");
@@ -533,7 +533,7 @@ public class InternalStepRunner implements StepRunner {
var loadBalancerAddress = controller.jobController().cloud().resolveHostName(policy.canonicalName());
if ( ! loadBalancerAddress.equals(ipAddress)) {
logger.log(INFO, "IP address of CNAME '" + endpointName + "' (" + ipAddress.get() + ") and load balancer '" +
- policy.canonicalName() + "' (" + loadBalancerAddress.orElse("empty") + ") are not equal");
+ policy.canonicalName() + "' (" + loadBalancerAddress.orElse(null) + ") are not equal");
return false;
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ChangeManagementAssessor.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ChangeManagementAssessor.java
index 128d7e6ac71..731e011c76a 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ChangeManagementAssessor.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ChangeManagementAssessor.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.maintenance;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java
index 6aa43d4db47..a6ac7cadd40 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporter.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeploymentInstanceSpec;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.jdisc.Metric;
import com.yahoo.vespa.hosted.controller.Application;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java
index 7b9c24df0fa..74890a90d63 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.CloudName;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.Controller;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
index 84ff3d5d8c3..890bd52ff4c 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
@@ -6,7 +6,7 @@ import com.yahoo.collections.Pair;
import com.yahoo.component.Version;
import com.yahoo.concurrent.UncheckedTimeoutException;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.path.Path;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NodeVersionSerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NodeVersionSerializer.java
index 10ec9dce5f7..874b2c8bd3d 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NodeVersionSerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/NodeVersionSerializer.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.component.Version;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Cursor;
@@ -46,7 +46,7 @@ public class NodeVersionSerializer {
public List<NodeVersion> nodeVersionsFromSlime(Inspector array, Version version) {
List<NodeVersion> nodeVersions = new ArrayList<>();
array.traverse((ArrayTraverser) (i, entry) -> {
- var hostname = HostName.from(entry.field(hostnameField).asString());
+ var hostname = HostName.of(entry.field(hostnameField).asString());
var zone = ZoneId.from(entry.field(zoneField).asString());
var wantedVersion = Version.fromString(entry.field(wantedVersionField).asString());
var suspendedAt = SlimeUtils.optionalInstant(entry.field(suspendedAtField));
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
index 17337f823c0..0de11291aa4 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Cursor;
@@ -83,7 +83,7 @@ public class RoutingPolicySerializer {
ClusterSpec.Id.from(inspect.field(clusterField).asString()),
ZoneId.from(inspect.field(zoneField).asString()));
policies.add(new RoutingPolicy(id,
- HostName.from(inspect.field(canonicalNameField).asString()),
+ HostName.of(inspect.field(canonicalNameField).asString()),
SlimeUtils.optionalString(inspect.field(dnsZoneField)),
instanceEndpoints,
applicationEndpoints,
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 924f7c0b0a5..426e009aa63 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -15,7 +15,7 @@ import com.yahoo.config.provision.ApplicationName;
import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.TenantName;
@@ -53,7 +53,6 @@ import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbi
import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.RestartAction;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.ServiceInfo;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.Hostname;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
import com.yahoo.vespa.hosted.controller.api.integration.aws.TenantRoles;
import com.yahoo.vespa.hosted.controller.api.integration.billing.Quota;
@@ -2053,7 +2052,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
DeploymentId deploymentId = new DeploymentId(ApplicationId.from(tenantName, applicationName, instanceName),
requireZone(environment, region));
RestartFilter restartFilter = new RestartFilter()
- .withHostName(Optional.ofNullable(request.getProperty("hostname")).map(HostName::from))
+ .withHostName(Optional.ofNullable(request.getProperty("hostname")).map(HostName::of))
.withClusterType(Optional.ofNullable(request.getProperty("clusterType")).map(ClusterSpec.Type::from))
.withClusterId(Optional.ofNullable(request.getProperty("clusterId")).map(ClusterSpec.Id::from));
@@ -2295,7 +2294,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
try {
node = nodeRepository.getNode(zone, hostname);
} catch (IllegalArgumentException e) {
- throw new NotExistsException(new Hostname(hostname));
+ throw new NotExistsException(hostname);
}
ApplicationId app = ApplicationId.from(tenant, application, instance);
ApplicationId owner = node.owner().orElseThrow(() -> new IllegalArgumentException("Node has no owner"));
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandler.java
index e1fc68974cc..eccf9417070 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/changemanagement/ChangeManagementApiHandler.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.restapi.changemanagement;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
@@ -280,7 +280,7 @@ public class ChangeManagementApiHandler extends AuditLoggingRequestHandler {
private Optional<ZoneId> affectedZone(List<String> hosts) {
NodeFilter affectedHosts = NodeFilter.all().hostnames(hosts.stream()
- .map(HostName::from)
+ .map(HostName::of)
.collect(Collectors.toSet()));
for (var zone : getProdZones()) {
var affectedHostsInZone = controller.serviceRegistry().configServer().nodeRepository().list(zone, affectedHosts);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
index b98ef717dd3..5baba150b05 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
@@ -1,11 +1,12 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.routing;
+import ai.vespa.http.DomainName;
import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.config.provision.zone.ZoneId;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.Controller;
@@ -215,7 +216,7 @@ public class RoutingPolicies {
}
var weightedTarget = new WeightedAliasTarget(policy.canonicalName(), policy.dnsZone().get(),
policy.id().zone(), weight);
- endpoints.computeIfAbsent(regionEndpoint, (k) -> new RegionEndpoint(new LatencyAliasTarget(HostName.from(regionEndpoint.dnsName()),
+ endpoints.computeIfAbsent(regionEndpoint, (k) -> new RegionEndpoint(new LatencyAliasTarget(DomainName.of(regionEndpoint.dnsName()),
policy.dnsZone().get(),
policy.id().zone())))
.zoneTargets()
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
index 34736c16a6b..59ecc349ed6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
@@ -1,8 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.routing;
+import ai.vespa.http.DomainName;
import com.google.common.collect.ImmutableSortedSet;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.text.Text;
@@ -27,14 +28,14 @@ import java.util.Set;
public class RoutingPolicy {
private final RoutingPolicyId id;
- private final HostName canonicalName;
+ private final DomainName canonicalName;
private final Optional<String> dnsZone;
private final Set<EndpointId> instanceEndpoints;
private final Set<EndpointId> applicationEndpoints;
private final Status status;
/** DO NOT USE. Public for serialization purposes */
- public RoutingPolicy(RoutingPolicyId id, HostName canonicalName, Optional<String> dnsZone,
+ public RoutingPolicy(RoutingPolicyId id, DomainName canonicalName, Optional<String> dnsZone,
Set<EndpointId> instanceEndpoints, Set<EndpointId> applicationEndpoints, Status status) {
this.id = Objects.requireNonNull(id, "id must be non-null");
this.canonicalName = Objects.requireNonNull(canonicalName, "canonicalName must be non-null");
@@ -50,7 +51,7 @@ public class RoutingPolicy {
}
/** The canonical name for the load balancer this applies to (rhs of a CNAME or ALIAS record) */
- public HostName canonicalName() {
+ public DomainName canonicalName() {
return canonicalName;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java
index 69773597f37..43efe9f3d69 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/NodeVersion.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.versions;
import com.yahoo.component.Version;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.time.Duration;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java
index 3fa440e694e..ab4cf7d1046 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.versions;
import com.yahoo.component.Version;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.application.ApplicationList;
@@ -197,7 +197,7 @@ public class VersionStatus {
.add(controller.hostname());
} else {
for (String host : controller.curator().cluster()) {
- HostName hostname = HostName.from(host);
+ HostName hostname = HostName.of(host);
versions.computeIfAbsent(controller.curator().readControllerVersion(hostname), (k) -> new ArrayList<>())
.add(hostname);
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
index 5ababdd8250..6758d360b52 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
@@ -12,7 +12,7 @@ import com.yahoo.config.provision.AthenzService;
import com.yahoo.config.provision.CloudName;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.zone.RoutingMethod;
@@ -940,19 +940,19 @@ public class ControllerTest {
// The weighted record for zone 2's region
new Record(Record.Type.ALIAS,
RecordName.from("application.tenant.us-east-3-w.vespa.oath.cloud"),
- new WeightedAliasTarget(HostName.from("lb-0--tenant:application:default--prod.us-east-3"),
+ new WeightedAliasTarget(HostName.of("lb-0--tenant.application.default--prod.us-east-3"),
"dns-zone-1", ZoneId.from("prod.us-east-3"), 1).pack()),
// The 'east' global endpoint, pointing to the weighted record for zone 2's region
new Record(Record.Type.ALIAS,
RecordName.from("east.application.tenant.global.vespa.oath.cloud"),
- new LatencyAliasTarget(HostName.from("application.tenant.us-east-3-w.vespa.oath.cloud"),
+ new LatencyAliasTarget(HostName.of("application.tenant.us-east-3-w.vespa.oath.cloud"),
"dns-zone-1", ZoneId.from("prod.us-east-3")).pack()),
// The zone-scoped endpoint pointing to zone 2 with exclusive routing
new Record(Record.Type.CNAME,
RecordName.from("application.tenant.us-east-3.vespa.oath.cloud"),
- RecordData.from("lb-0--tenant:application:default--prod.us-east-3.")));
+ RecordData.from("lb-0--tenant.application.default--prod.us-east-3.")));
assertEquals(expectedRecords, List.copyOf(tester.controllerTester().nameService().records()));
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
index 75c33952754..634f8ac37d4 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.TenantName;
@@ -239,7 +239,7 @@ public final class ControllerTester {
/** Upgrade controller to given version */
public void upgradeController(Version version, String commitSha, Instant commitDate) {
for (var hostname : controller().curator().cluster()) {
- upgradeController(HostName.from(hostname), version, commitSha, commitDate);
+ upgradeController(HostName.of(hostname), version, commitSha, commitDate);
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
index 86c21839c96..62320c4cdca 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
@@ -9,7 +9,7 @@ import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.AthenzService;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.security.KeyAlgorithm;
import com.yahoo.security.KeyUtils;
@@ -247,7 +247,7 @@ public class DeploymentContext {
var clusterId = "default-inactive";
var id = new RoutingPolicyId(instanceId, ClusterSpec.Id.from(clusterId), zone);
var policies = new LinkedHashMap<>(tester.controller().routing().policies().read(instanceId).asMap());
- policies.put(id, new RoutingPolicy(id, HostName.from("lb-host"),
+ policies.put(id, new RoutingPolicy(id, HostName.of("lb-host"),
Optional.empty(),
Set.of(EndpointId.of("default")),
Set.of(),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
index 4e538acb8f2..b7c0445fdf9 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
@@ -5,7 +5,7 @@ import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.AthenzService;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.RoutingMethod;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/dns/NameServiceQueueTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/dns/NameServiceQueueTest.java
index 44bcbcfb4fa..6d41b044fc2 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/dns/NameServiceQueueTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/dns/NameServiceQueueTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.dns;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.api.integration.dns.LatencyAliasTarget;
import com.yahoo.vespa.hosted.controller.api.integration.dns.MemoryNameService;
@@ -28,11 +28,11 @@ public class NameServiceQueueTest {
var r1 = new Record(Record.Type.CNAME, RecordName.from("cname.vespa.oath.cloud"), RecordData.from("example.com"));
var r2 = new Record(Record.Type.TXT, RecordName.from("txt.example.com"), RecordData.from("text"));
var r3 = List.of(new Record(Record.Type.ALIAS, RecordName.from("alias.example.com"),
- new LatencyAliasTarget(HostName.from("alias1"),
+ new LatencyAliasTarget(HostName.of("alias1"),
"dns-zone-01",
ZoneId.from("prod", "us-north-1")).pack()),
new Record(Record.Type.ALIAS, RecordName.from("alias.example.com"),
- new LatencyAliasTarget(HostName.from("alias2"),
+ new LatencyAliasTarget(HostName.of("alias2"),
"dns-zone-02",
ZoneId.from("prod", "us-north-2")).pack()));
var req1 = new CreateRecord(r1);
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
index e98ff71884d..76201f27ed1 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
@@ -10,7 +10,7 @@ import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
@@ -159,7 +159,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
}
public HostName hostFor(ApplicationId application, ZoneId zone) {
- return HostName.from("host-" + application.serializedForm() + "-" + zone.value());
+ return HostName.of("host-" + application.toFullString() + "-" + zone.value());
}
public void bootstrap(List<ZoneId> zones, SystemApplication... applications) {
@@ -176,8 +176,8 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
for (SystemApplication application : applications) {
for (int i = 1; i <= 3; i++) {
Node node = Node.builder()
- .hostname(HostName.from("node-" + i + "-" + application.id().application()
- .value() + "-" + zone.value()))
+ .hostname(HostName.of("node-" + i + "-" + application.id().application()
+ .value() + "-" + zone.value()))
.state(Node.State.active)
.type(application.nodeType())
.owner(application.id())
@@ -402,7 +402,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
putLoadBalancers(id.zoneId(), List.of(new LoadBalancer(UUID.randomUUID().toString(),
id.applicationId(),
cluster,
- Optional.of(HostName.from("lb-0--" + id.applicationId().serializedForm() + "--" + id.zoneId().toString())),
+ Optional.of(HostName.of("lb-0--" + id.applicationId().toFullString() + "--" + id.zoneId().toString())),
LoadBalancer.State.active,
Optional.of("dns-zone-1"))));
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
index 7b67db39350..06f69703027 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.integration;
import com.yahoo.collections.Pair;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
@@ -60,7 +60,7 @@ public class NodeRepositoryMock implements NodeRepository {
@Override
public void deleteNode(ZoneId zone, String hostname) {
require(zone, hostname);
- nodeRepository.get(zone).remove(HostName.from(hostname));
+ nodeRepository.get(zone).remove(HostName.of(hostname));
}
@Override
@@ -246,8 +246,8 @@ public class NodeRepositoryMock implements NodeRepository {
/** Add a fixed set of nodes to given zone */
public void addFixedNodes(ZoneId zone) {
var nodeA = Node.builder()
- .hostname(HostName.from("hostA"))
- .parentHostname(HostName.from("parentHostA"))
+ .hostname(HostName.of("hostA"))
+ .parentHostname(HostName.of("parentHostA"))
.state(Node.State.active)
.type(NodeType.tenant)
.owner(ApplicationId.from("tenant1", "app1", "default"))
@@ -262,8 +262,8 @@ public class NodeRepositoryMock implements NodeRepository {
.exclusiveTo(ApplicationId.from("t1", "a1", "i1"))
.build();
var nodeB = Node.builder()
- .hostname(HostName.from("hostB"))
- .parentHostname(HostName.from("parentHostB"))
+ .hostname(HostName.of("hostB"))
+ .parentHostname(HostName.of("parentHostB"))
.state(Node.State.active)
.type(NodeType.tenant)
.owner(ApplicationId.from("tenant2", "app2", "default"))
@@ -319,7 +319,7 @@ public class NodeRepositoryMock implements NodeRepository {
}
private Node require(ZoneId zone, String hostname) {
- return require(zone, HostName.from(hostname));
+ return require(zone, HostName.of(hostname));
}
private Node require(ZoneId zone, HostName hostname) {
@@ -329,7 +329,7 @@ public class NodeRepositoryMock implements NodeRepository {
}
private void patchNodes(ZoneId zone, String hostname, UnaryOperator<Node> patcher) {
- patchNodes(zone, Optional.of(HostName.from(hostname)), patcher);
+ patchNodes(zone, Optional.of(HostName.of(hostname)), patcher);
}
private void patchNodes(DeploymentId deployment, Optional<HostName> hostname, UnaryOperator<Node> patcher) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
index 8daedc05e96..b3efccd5505 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.maintenance;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
@@ -122,7 +122,7 @@ public class CloudEventTrackerTest {
private Node createNode(String hostname, NodeType nodeType) {
return Node.builder()
- .hostname(HostName.from(hostname))
+ .hostname(HostName.of(hostname))
.type(nodeType)
.build();
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
index a06e15de3c7..c3ea16e9a53 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.maintenance;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
@@ -84,10 +84,10 @@ public class HostInfoUpdaterTest {
// Updates node registered under a different hostname
ZoneId zone = tester.zoneRegistry().zones().controllerUpgraded().all().ids().get(0);
String hostnameSuffix = ".prod." + zone.value();
- Node configNode = Node.builder().hostname(HostName.from("cfg3" + hostnameSuffix))
+ Node configNode = Node.builder().hostname(HostName.of("cfg3" + hostnameSuffix))
.type(NodeType.config)
.build();
- Node configHost = Node.builder().hostname(HostName.from("cfghost3" + hostnameSuffix))
+ Node configHost = Node.builder().hostname(HostName.of("cfghost3" + hostnameSuffix))
.type(NodeType.confighost)
.build();
tester.serviceRegistry().configServer().nodeRepository().putNodes(zone, List.of(configNode, configHost));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
index 455e802e87b..db2e8c6d5d1 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.CloudName;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.zone.UpgradePolicy;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
index 6109890bae3..ce18a72b7cc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceMeterMaintainerTest.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.SystemName;
@@ -135,8 +135,8 @@ public class ResourceMeterMaintainerTest {
Node.State.parked,
Node.State.active)
.map(state -> Node.builder()
- .hostname(HostName.from("host" + state))
- .parentHostname(HostName.from("parenthost" + state))
+ .hostname(HostName.of("host" + state))
+ .parentHostname(HostName.of("parenthost" + state))
.state(state)
.type(NodeType.tenant)
.owner(ApplicationId.from("tenant1", "app1", "default"))
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java
index f58911a6114..7bc5ad16620 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
@@ -36,8 +36,8 @@ public class ResourceTagMaintainerTest {
resourceTagMaintainer.maintain();
assertEquals(2, mockResourceTagger.getValues().size());
Map<HostName, ApplicationId> applicationForHost = mockResourceTagger.getValues().get(ZoneId.from("prod.region-2"));
- assertEquals(ApplicationId.from("t1", "a1", "i1"), applicationForHost.get(HostName.from("parentHostA.prod.region-2")));
- assertEquals(SHARED_HOST_APPLICATION, applicationForHost.get(HostName.from("parentHostB.prod.region-2")));
+ assertEquals(ApplicationId.from("t1", "a1", "i1"), applicationForHost.get(HostName.of("parentHostA.prod.region-2")));
+ assertEquals(SHARED_HOST_APPLICATION, applicationForHost.get(HostName.of("parentHostB.prod.region-2")));
}
private void setUpZones() {
@@ -51,19 +51,19 @@ public class ResourceTagMaintainerTest {
public void setNodes(ZoneId zone) {
var hostA = Node.builder()
- .hostname(HostName.from("parentHostA." + zone.value()))
+ .hostname(HostName.of("parentHostA." + zone.value()))
.type(NodeType.host)
.owner(ApplicationId.from(SystemApplication.TENANT.value(), "tenant-host", "default"))
.exclusiveTo(ApplicationId.from("t1", "a1", "i1"))
.build();
var nodeA = Node.builder()
- .hostname(HostName.from("hostA." + zone.value()))
+ .hostname(HostName.of("hostA." + zone.value()))
.type(NodeType.tenant)
- .parentHostname(HostName.from("parentHostA." + zone.value()))
+ .parentHostname(HostName.of("parentHostA." + zone.value()))
.owner(ApplicationId.from("tenant1", "app1", "default"))
.build();
var hostB = Node.builder()
- .hostname(HostName.from("parentHostB." + zone.value()))
+ .hostname(HostName.of("parentHostB." + zone.value()))
.type(NodeType.host)
.owner(ApplicationId.from(SystemApplication.TENANT.value(), "tenant-host", "default"))
.build();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemRoutingPolicyMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemRoutingPolicyMaintainerTest.java
index 0dbe31d921b..ef58effb29b 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemRoutingPolicyMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemRoutingPolicyMaintainerTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.LoadBalancer;
@@ -35,7 +35,7 @@ public class SystemRoutingPolicyMaintainerTest {
tester.configServer().putLoadBalancers(zone, List.of(new LoadBalancer("lb1",
SystemApplication.configServer.id(),
ClusterSpec.Id.from("config"),
- Optional.of(HostName.from("lb1.example.com")),
+ Optional.of(HostName.of("lb1.example.com")),
LoadBalancer.State.active,
Optional.of("dns-zone-1"))));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
index 7f369d21d3a..414ec8b4cbd 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.maintenance;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
@@ -37,9 +37,9 @@ public class VcmrMaintainerTest {
private NodeRepositoryMock nodeRepo;
private final ZoneId zoneId = ZoneId.from("prod.us-east-3");
private final ZoneId zone2 = ZoneId.from("prod.us-west-1");
- private final HostName host1 = HostName.from("host1");
- private final HostName host2 = HostName.from("host2");
- private final HostName host3 = HostName.from("host3");
+ private final HostName host1 = HostName.of("host1");
+ private final HostName host2 = HostName.of("host2");
+ private final HostName host3 = HostName.of("host3");
private final String changeRequestId = "id123";
@Before
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/NameServiceQueueSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/NameServiceQueueSerializerTest.java
index 4ef09bbfce0..548db40ed4a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/NameServiceQueueSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/NameServiceQueueSerializerTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.persistence;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.api.integration.dns.LatencyAliasTarget;
import com.yahoo.vespa.hosted.controller.api.integration.dns.Record;
@@ -32,11 +32,11 @@ public class NameServiceQueueSerializerTest {
new CreateRecord(record1),
new CreateRecords(List.of(record2)),
new CreateRecords(List.of(new Record(Record.Type.ALIAS, RecordName.from("alias.example.com"),
- new LatencyAliasTarget(HostName.from("alias1"),
+ new LatencyAliasTarget(HostName.of("alias1"),
"dns-zone-01",
ZoneId.from("prod", "us-north-1")).pack()),
new Record(Record.Type.ALIAS, RecordName.from("alias.example.com"),
- new LatencyAliasTarget(HostName.from("alias2"),
+ new LatencyAliasTarget(HostName.of("alias2"),
"dns-zone-02",
ZoneId.from("prod", "us-north-2")).pack()))
),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/OsVersionStatusSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/OsVersionStatusSerializerTest.java
index 482303a0e49..d2798d89973 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/OsVersionStatusSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/OsVersionStatusSerializerTest.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.component.Version;
import com.yahoo.config.provision.CloudName;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.versions.NodeVersion;
import com.yahoo.vespa.hosted.controller.versions.OsVersion;
@@ -30,12 +30,12 @@ public class OsVersionStatusSerializerTest {
Map<OsVersion, List<NodeVersion>> versions = new LinkedHashMap<>();
versions.put(new OsVersion(version1, CloudName.defaultName()), List.of(
- new NodeVersion(HostName.from("node1"), ZoneId.from("prod", "us-west"), version1, version2, Optional.of(Instant.ofEpochMilli(11))),
- new NodeVersion(HostName.from("node2"), ZoneId.from("prod", "us-east"), version1, version2, Optional.of(Instant.ofEpochMilli(22)))
+ new NodeVersion(HostName.of("node1"), ZoneId.from("prod", "us-west"), version1, version2, Optional.of(Instant.ofEpochMilli(11))),
+ new NodeVersion(HostName.of("node2"), ZoneId.from("prod", "us-east"), version1, version2, Optional.of(Instant.ofEpochMilli(22)))
));
versions.put(new OsVersion(version2, CloudName.defaultName()), List.of(
- new NodeVersion(HostName.from("node3"), ZoneId.from("prod", "us-west"), version2, version2, Optional.of(Instant.ofEpochMilli(33))),
- new NodeVersion(HostName.from("node4"), ZoneId.from("prod", "us-east"), version2, version2, Optional.of(Instant.ofEpochMilli(44)))
+ new NodeVersion(HostName.of("node3"), ZoneId.from("prod", "us-west"), version2, version2, Optional.of(Instant.ofEpochMilli(33))),
+ new NodeVersion(HostName.of("node4"), ZoneId.from("prod", "us-east"), version2, version2, Optional.of(Instant.ofEpochMilli(44)))
));
OsVersionStatusSerializer serializer = new OsVersionStatusSerializer(new OsVersionSerializer(), new NodeVersionSerializer());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
index 422188420bd..5102bec2172 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.application.EndpointId;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
@@ -38,13 +38,13 @@ public class RoutingPolicySerializerTest {
ClusterSpec.Id.from("my-cluster2"),
ZoneId.from("prod", "us-north-2"));
var policies = List.of(new RoutingPolicy(id1,
- HostName.from("long-and-ugly-name"),
+ HostName.of("long-and-ugly-name"),
Optional.of("zone1"),
instanceEndpoints,
applicationEndpoints,
new RoutingPolicy.Status(true, RoutingStatus.DEFAULT)),
new RoutingPolicy(id2,
- HostName.from("long-and-ugly-name-2"),
+ HostName.of("long-and-ugly-name-2"),
Optional.empty(),
instanceEndpoints,
Set.of(),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializerTest.java
index e202d4a687d..c13a92ca8ad 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/VersionStatusSerializerTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.component.Version;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.versions.NodeVersion;
import com.yahoo.vespa.hosted.controller.versions.VersionStatus;
@@ -55,7 +55,7 @@ public class VersionStatusSerializerTest {
private static List<NodeVersion> nodeVersions(Version version, Version wantedVersion, String... hostnames) {
var nodeVersions = new ArrayList<NodeVersion>();
for (var hostname : hostnames) {
- nodeVersions.add(new NodeVersion(HostName.from(hostname), ZoneId.from("prod", "us-north-1"), version, wantedVersion, Optional.empty()));
+ nodeVersions.add(new NodeVersion(HostName.of(hostname), ZoneId.from("prod", "us-north-1"), version, wantedVersion, Optional.empty()));
}
return nodeVersions;
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyRequestTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyRequestTest.java
index 5827ef676d7..6b07fea0187 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyRequestTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/proxy/ProxyRequestTest.java
@@ -19,9 +19,9 @@ public class ProxyRequestTest {
@Test
public void testBadUri() {
- assertThrows("Request path '/path' does not end with proxy path '/zone/v2/'",
- IllegalArgumentException.class,
- () -> testRequest("http://domain.tld/path", "/zone/v2/"));
+ assertEquals("Request path '/path' does not end with proxy path '/zone/v2/'",
+ assertThrows(IllegalArgumentException.class,
+ () -> testRequest("http://domain.tld/path", "/zone/v2/")).getMessage());
}
@Test
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index 67b201bdc9d..52da2fadf0c 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -634,13 +634,13 @@ public class ApplicationApiTest extends ControllerContainerTest {
"{\"enabled\":true,\"clusters\":[{\"name\":\"cluster\",\"pending\":[{\"type\":\"type\",\"requiredGeneration\":100}],\"ready\":[{\"type\":\"type\",\"readyAtMillis\":345,\"startedAtMillis\":456,\"endedAtMillis\":567,\"state\":\"failed\",\"message\":\"(#`д´)ノ\",\"progress\":0.1,\"speed\":1.0}]}]}");
// POST to request a service dump
- tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1/node/host-tenant1:application1:instance1-prod.us-central-1/service-dump", POST)
+ tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1/node/host-tenant1.application1.instance1-prod.us-central-1/service-dump", POST)
.userIdentity(HOSTED_VESPA_OPERATOR)
.data("{\"configId\":\"default/container.1\",\"artifacts\":[\"jvm-dump\"],\"dumpOptions\":{\"duration\":30}}"),
"{\"message\":\"Request created\"}");
// GET to get status of service dump
- tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1/node/host-tenant1:application1:instance1-prod.us-central-1/service-dump", GET)
+ tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-central-1/node/host-tenant1.application1.instance1-prod.us-central-1/service-dump", GET)
.userIdentity(HOSTED_VESPA_OPERATOR),
"{\"createdMillis\":" + tester.controller().clock().millis() + ",\"configId\":\"default/container.1\"" +
",\"artifacts\":[\"jvm-dump\"],\"dumpOptions\":{\"duration\":30}}");
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-nodes.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-nodes.json
index 422c8c122fa..88a92bf7810 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-nodes.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/application-nodes.json
@@ -1,7 +1,7 @@
{
"nodes": [
{
- "hostname": "host-tenant1:application1:instance1-prod.us-central-1",
+ "hostname": "host-tenant1.application1.instance1-prod.us-central-1",
"state": "active",
"orchestration": "unorchestrated",
"version": "6.1",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json
index 3ef993c6589..bfaa4d5c813 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/dev-us-east-1-log-first-part.json
@@ -28,7 +28,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-dev.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-dev.us-east-1: unorchestrated"
},
{
"at": 0,
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
index 6b1d48f4a08..7c1f7223e9e 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/staging-test-log.json
@@ -18,7 +18,7 @@
{
"at": 14503000,
"type": "info",
- "message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-t-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
@@ -33,7 +33,7 @@
{
"at": 14503000,
"type": "info",
- "message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-t-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
@@ -48,7 +48,7 @@
{
"at": 14503000,
"type": "info",
- "message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-t-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
@@ -63,7 +63,7 @@
{
"at": 14503000,
"type": "info",
- "message": "host-tenant:application:default-t-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-t-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
@@ -102,7 +102,7 @@
{
"at": 14503000,
"type": "info",
- "message": "host-tenant:application:default-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
@@ -127,7 +127,7 @@
{
"at": 14503000,
"type": "debug",
- "message": "host-tenant:application:default-staging.us-east-3: unorchestrated"
+ "message": "host-tenant.application.default-staging.us-east-3: unorchestrated"
},
{
"at": 14503000,
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-details.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-details.json
index 377b8c6ed69..e830f96bbba 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-details.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-details.json
@@ -23,7 +23,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-t-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -38,7 +38,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-t-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -53,7 +53,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-t-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -68,7 +68,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-t-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -83,7 +83,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-t-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -122,7 +122,7 @@
{
"at": "(ignore)",
"type": "info",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -147,7 +147,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -172,7 +172,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -197,7 +197,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -222,7 +222,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -247,7 +247,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
@@ -272,7 +272,7 @@
{
"at": "(ignore)",
"type": "debug",
- "message": "host-tenant1:application1:instance1-test.us-east-1: unorchestrated"
+ "message": "host-tenant1.application1.instance1-test.us-east-1: unorchestrated"
},
{
"at": "(ignore)",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-log.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-log.json
index f675825c3b6..bfb5d8e6cbc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-log.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/system-test-log.json
@@ -18,7 +18,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-t-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -33,7 +33,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-t-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -48,7 +48,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-t-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -63,7 +63,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-t-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -78,7 +78,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-t-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-t-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -117,7 +117,7 @@
{
"at": 0,
"type": "info",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -142,7 +142,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -167,7 +167,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -192,7 +192,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -217,7 +217,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -242,7 +242,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
@@ -267,7 +267,7 @@
{
"at": 0,
"type": "debug",
- "message": "host-tenant:application:default-test.us-east-1: unorchestrated"
+ "message": "host-tenant.application.default-test.us-east-1: unorchestrated"
},
{
"at": 0,
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiTest.java
index ca0db13b3d1..a915d5472a1 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/deployment/DeploymentApiTest.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.restapi.deployment;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.ValidationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
@@ -97,8 +97,8 @@ public class DeploymentApiTest extends ControllerContainerTest {
version.isControllerVersion(),
version.isSystemVersion(),
version.isReleased(),
- List.of(new NodeVersion(HostName.from("config1.test"), ZoneId.defaultId(), version.versionNumber(), version.versionNumber(), Optional.empty()),
- new NodeVersion(HostName.from("config2.test"), ZoneId.defaultId(), version.versionNumber(), version.versionNumber(), Optional.empty())),
+ List.of(new NodeVersion(HostName.of("config1.test"), ZoneId.defaultId(), version.versionNumber(), version.versionNumber(), Optional.empty()),
+ new NodeVersion(HostName.of("config2.test"), ZoneId.defaultId(), version.versionNumber(), version.versionNumber(), Optional.empty())),
version.confidence()
);
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
index 1919de33e8b..67e97fc98ec 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
@@ -10,7 +10,7 @@ import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.AthenzService;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.RoutingMethod;
@@ -453,7 +453,7 @@ public class RoutingPoliciesTest {
tester.controllerTester().configServer().removeLoadBalancers(context.instanceId(), zone1);
// Load balancer for the same application is provisioned again, but with a different hostname
- var newHostname = HostName.from("new-hostname");
+ var newHostname = HostName.of("new-hostname");
var loadBalancer = new LoadBalancer("LB-0-Z-" + zone1.value(),
context.instanceId(),
ClusterSpec.Id.from("c0"),
@@ -708,7 +708,7 @@ public class RoutingPoliciesTest {
List<Record> records = tester.controllerTester().nameService().findRecords(Record.Type.CNAME, name);
assertEquals(1, records.size());
- assertEquals(RecordData.from("lb-0--hosted-vespa:zone-config-servers:default--prod.us-west-1."),
+ assertEquals(RecordData.from("lb-0--hosted-vespa.zone-config-servers.default--prod.us-west-1."),
records.get(0).data());
}
@@ -859,10 +859,10 @@ public class RoutingPoliciesTest {
for (int i = 0; i < count; i++) {
HostName lbHostname;
if (shared) {
- lbHostname = HostName.from("shared-lb--" + zone.value());
+ lbHostname = HostName.of("shared-lb--" + zone.value());
} else {
- lbHostname = HostName.from("lb-" + i + "--" + application.serializedForm() +
- "--" + zone.value());
+ lbHostname = HostName.of("lb-" + i + "--" + application.toFullString() +
+ "--" + zone.value());
}
loadBalancers.add(
new LoadBalancer("LB-" + i + "-Z-" + zone.value(),
@@ -985,7 +985,7 @@ public class RoutingPoliciesTest {
deploymentsByDnsName.forEach((dnsName, deployments) -> {
Set<String> weightedTargets = deployments.stream()
.map(d -> "weighted/lb-" + loadBalancerId + "--" +
- d.applicationId().serializedForm() + "--" + d.zoneId().value() +
+ d.applicationId().toFullString() + "--" + d.zoneId().value() +
"/dns-zone-1/" + d.zoneId().value() + "/" + deploymentWeights.get(d))
.collect(Collectors.toSet());
assertEquals(dnsName + " has expected targets", weightedTargets, aliasDataOf(dnsName));
@@ -1009,7 +1009,7 @@ public class RoutingPoliciesTest {
zonesByRegionEndpoint.forEach((regionEndpoint, zonesInRegion) -> {
Set<String> weightedTargets = zonesInRegion.stream()
.map(z -> "weighted/lb-" + loadBalancerId + "--" +
- instance.serializedForm() + "--" + z.value() +
+ instance.toFullString() + "--" + z.value() +
"/dns-zone-1/" + z.value() + "/" + zoneWeights.get(z))
.collect(Collectors.toSet());
assertEquals("Region endpoint " + regionEndpoint + " points to load balancer",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
index ec8d5c35049..1835b79bfea 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.versions;
import com.yahoo.component.Version;
import com.yahoo.component.Vtag;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.ControllerTester;
@@ -82,9 +82,9 @@ public class VersionStatusTest {
@Test
public void testControllerVersionIsVersionOfOldestController() {
- HostName controller1 = HostName.from("controller-1");
- HostName controller2 = HostName.from("controller-2");
- HostName controller3 = HostName.from("controller-3");
+ HostName controller1 = HostName.of("controller-1");
+ HostName controller2 = HostName.of("controller-2");
+ HostName controller3 = HostName.of("controller-3");
MockCuratorDb db = new MockCuratorDb(Stream.of(controller1, controller2, controller3)
.map(hostName -> hostName.value() + ":2222")
.collect(Collectors.joining(",")));
@@ -491,9 +491,9 @@ public class VersionStatusTest {
@Test
public void testCommitDetailsPreservation() {
- HostName controller1 = HostName.from("controller-1");
- HostName controller2 = HostName.from("controller-2");
- HostName controller3 = HostName.from("controller-3");
+ HostName controller1 = HostName.of("controller-1");
+ HostName controller2 = HostName.of("controller-2");
+ HostName controller3 = HostName.of("controller-3");
MockCuratorDb db = new MockCuratorDb(Stream.of(controller1, controller2, controller3)
.map(hostName -> hostName.value() + ":2222")
.collect(Collectors.joining(",")));
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
index 506ab842cff..3d48780fa0e 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/ConfigServerApiImpl.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.node.admin.configserver;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider;
import com.yahoo.vespa.athenz.identity.ServiceIdentitySslSocketFactory;
import com.yahoo.vespa.hosted.node.admin.component.ConfigServerInfo;
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
index dda404797d9..9c5c008dbb0 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.node.admin.nodeadmin;
import com.yahoo.concurrent.ThreadFactoryFactory;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.Acl;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeRepository;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
index 2713ff45ae8..7e450faac7b 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentContext.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.node.admin.nodeagent;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
@@ -27,7 +27,7 @@ public interface NodeAgentContext extends TaskContext {
/** @return hostname of the linux container this context applies to */
default HostName hostname() {
- return HostName.from(node().hostname());
+ return HostName.of(node().hostname());
}
default NodeType nodeType() {
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
index fd93252f3b5..de9f1999953 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.node.admin.integration;
import com.yahoo.config.provision.DockerImage;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
@@ -51,7 +51,7 @@ import static org.mockito.Mockito.when;
public class ContainerTester implements AutoCloseable {
private static final Logger log = Logger.getLogger(ContainerTester.class.getName());
- static final HostName HOST_HOSTNAME = HostName.from("host.test.yahoo.com");
+ static final HostName HOST_HOSTNAME = HostName.of("host.test.yahoo.com");
private final Thread loopThread;
private final Phaser phaser = new Phaser(1);
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
index 5436f84f467..e0f86916acf 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdaterTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.node.admin.nodeadmin;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.Acl;
import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec;
@@ -47,7 +47,7 @@ public class NodeAdminStateUpdaterTest {
private final NodeRepoMock nodeRepository = spy(new NodeRepoMock());
private final Orchestrator orchestrator = mock(Orchestrator.class);
private final NodeAdmin nodeAdmin = mock(NodeAdmin.class);
- private final HostName hostHostname = HostName.from("basehost1.test.yahoo.com");
+ private final HostName hostHostname = HostName.of("basehost1.test.yahoo.com");
private final NodeAdminStateUpdater updater = spy(new NodeAdminStateUpdater(
nodeAgentContextFactory, nodeRepository, orchestrator, nodeAdmin, hostHostname));
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerInstance.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerInstance.java
index 4c6a46f013e..1548038e19d 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerInstance.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerInstance.java
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.lb;
+import ai.vespa.http.DomainName;
import com.google.common.collect.ImmutableSortedSet;
-import com.yahoo.config.provision.HostName;
import java.util.Objects;
import java.util.Optional;
@@ -16,13 +16,13 @@ import java.util.Set;
*/
public class LoadBalancerInstance {
- private final HostName hostname;
+ private final DomainName hostname;
private final Optional<DnsZone> dnsZone;
private final Set<Integer> ports;
private final Set<String> networks;
private final Set<Real> reals;
- public LoadBalancerInstance(HostName hostname, Optional<DnsZone> dnsZone, Set<Integer> ports, Set<String> networks,
+ public LoadBalancerInstance(DomainName hostname, Optional<DnsZone> dnsZone, Set<Integer> ports, Set<String> networks,
Set<Real> reals) {
this.hostname = Objects.requireNonNull(hostname, "hostname must be non-null");
this.dnsZone = Objects.requireNonNull(dnsZone, "dnsZone must be non-null");
@@ -32,7 +32,7 @@ public class LoadBalancerInstance {
}
/** Fully-qualified domain name of this load balancer. This hostname can be used for query and feed */
- public HostName hostname() {
+ public DomainName hostname() {
return hostname;
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerServiceMock.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerServiceMock.java
index 51f59bc3ea0..7da28bff930 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerServiceMock.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/LoadBalancerServiceMock.java
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.lb;
+import ai.vespa.http.DomainName;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
import java.util.Collections;
@@ -56,7 +56,7 @@ public class LoadBalancerServiceMock implements LoadBalancerService {
throw new IllegalArgumentException("Refusing to remove all reals from load balancer " + id);
}
var instance = new LoadBalancerInstance(
- HostName.from("lb-" + spec.application().toShortString() + "-" + spec.cluster().value()),
+ DomainName.of("lb-" + spec.application().toShortString() + "-" + spec.cluster().value()),
Optional.of(new DnsZone("zone-id-1")),
Collections.singleton(4443),
ImmutableSet.of("10.2.3.0/24", "10.4.5.0/24"),
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/Real.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/Real.java
index b8ebf808ae7..fc8f665c8b4 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/Real.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/Real.java
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.lb;
+import ai.vespa.http.DomainName;
import com.google.common.net.InetAddresses;
-import com.yahoo.config.provision.HostName;
import java.util.Objects;
@@ -15,15 +15,15 @@ public class Real implements Comparable<Real> {
public static final int defaultPort = 4443;
- private final HostName hostname;
+ private final DomainName hostname;
private final String ipAddress;
private final int port;
- public Real(HostName hostname, String ipAddress) {
+ public Real(DomainName hostname, String ipAddress) {
this(hostname, ipAddress, defaultPort);
}
- public Real(HostName hostname, String ipAddress, int port) {
+ public Real(DomainName hostname, String ipAddress, int port) {
this.hostname = hostname;
this.ipAddress = requireIpAddress(ipAddress);
if (port < 1 || port > 65535) {
@@ -33,7 +33,7 @@ public class Real implements Comparable<Real> {
}
/** The hostname of this real */
- public HostName hostname() {
+ public DomainName hostname() {
return hostname;
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
index 1345dfb8e65..fa9db9cd800 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerService.java
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.lb;
+import ai.vespa.http.DomainName;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeType;
import java.util.Objects;
@@ -29,7 +29,7 @@ public class SharedLoadBalancerService implements LoadBalancerService {
@Override
public LoadBalancerInstance create(LoadBalancerSpec spec, boolean force) {
- return new LoadBalancerInstance(HostName.from(vipHostname),
+ return new LoadBalancerInstance(DomainName.of(vipHostname),
Optional.empty(),
Set.of(4443),
Set.of(),
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
index 659636de581..c3dd4ff056d 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabase.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.provision.persistence;
import com.google.common.cache.AbstractCache;
import com.google.common.collect.ImmutableList;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.path.Path;
import com.yahoo.transaction.NestedTransaction;
import com.yahoo.vespa.curator.Curator;
@@ -63,7 +63,7 @@ public class CuratorDatabase {
return Arrays.stream(curator.zooKeeperEnsembleConnectionSpec().split(","))
.filter(hostAndPort -> !hostAndPort.isEmpty())
.map(hostAndPort -> hostAndPort.split(":")[0])
- .map(HostName::from)
+ .map(HostName::of)
.collect(Collectors.toList());
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
index a9abc352d8c..fe12c9e1bcc 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
@@ -6,7 +6,7 @@ import com.yahoo.concurrent.UncheckedTimeoutException;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationLockException;
import com.yahoo.config.provision.ApplicationTransaction;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeFlavors;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
index c361c9183d2..d953ab5b543 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.persistence;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Inspector;
@@ -78,7 +78,7 @@ public class LoadBalancerSerializer {
Set<Real> reals = new LinkedHashSet<>();
object.field(realsField).traverse((ArrayTraverser) (i, realObject) -> {
- reals.add(new Real(HostName.from(realObject.field(hostnameField).asString()),
+ reals.add(new Real(DomainName.of(realObject.field(hostnameField).asString()),
realObject.field(ipAddressField).asString(),
(int) realObject.field(portField).asLong()));
@@ -90,7 +90,7 @@ public class LoadBalancerSerializer {
Set<String> networks = new LinkedHashSet<>();
object.field(networksField).traverse((ArrayTraverser) (i, network) -> networks.add(network.asString()));
- Optional<HostName> hostname = optionalString(object.field(hostnameField), Function.identity()).filter(s -> !s.isEmpty()).map(HostName::from);
+ Optional<DomainName> hostname = optionalString(object.field(hostnameField), Function.identity()).filter(s -> !s.isEmpty()).map(DomainName::of);
Optional<DnsZone> dnsZone = optionalString(object.field(dnsZoneField), DnsZone::new);
Optional<LoadBalancerInstance> instance = hostname.map(h -> new LoadBalancerInstance(h, dnsZone, ports,
networks, reals));
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
index b90851dd639..0116fc37d7e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImpl.java
@@ -8,7 +8,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationTransaction;
import com.yahoo.config.provision.Deployment;
import com.yahoo.config.provision.HostFilter;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.InfraDeployer;
import com.yahoo.config.provision.NodeType;
@@ -116,7 +116,7 @@ public class InfraDeployerImpl implements InfraDeployer {
duperModel.infraApplicationActivated(
application.getApplicationId(),
- hostSpecs.stream().map(HostSpec::hostname).map(HostName::from).collect(Collectors.toList()));
+ hostSpecs.stream().map(HostSpec::hostname).map(HostName::of).collect(Collectors.toList()));
logger.log(Level.FINE, () -> generateActivationLogMessage(hostSpecs, application.getApplicationId()));
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
index 04f084dd079..e6afec3e6d3 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisioner.java
@@ -5,7 +5,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ApplicationName;
import com.yahoo.config.provision.ApplicationTransaction;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.exception.LoadBalancerServiceException;
@@ -254,7 +254,7 @@ public class LoadBalancerProvisioner {
Set<Real> reals = new LinkedHashSet<>();
for (var node : nodes) {
for (var ip : reachableIpAddresses(node)) {
- reals.add(new Real(HostName.from(node.hostname()), ip));
+ reals.add(new Real(HostName.of(node.hostname()), ip));
}
}
return reals;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDuperModel.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDuperModel.java
index 49ddfceea71..68cbd115259 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDuperModel.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockDuperModel.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.provision.testutils;
import com.google.inject.Inject;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.monitor.DuperModelInfraApi;
import com.yahoo.vespa.service.monitor.InfraApplicationApi;
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
index 4975e670e86..b3c0e31b54f 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/lb/SharedLoadBalancerServiceTest.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.provision.lb;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import org.junit.Test;
import java.util.Optional;
@@ -20,15 +20,15 @@ public class SharedLoadBalancerServiceTest {
private final ApplicationId applicationId = ApplicationId.from("tenant1", "application1", "default");
private final ClusterSpec.Id clusterId = ClusterSpec.Id.from("qrs1");
private final Set<Real> reals = Set.of(
- new Real(HostName.from("some.nice.host"), "10.23.56.102"),
- new Real(HostName.from("some.awful.host"), "10.23.56.103")
+ new Real(HostName.of("some.nice.host"), "10.23.56.102"),
+ new Real(HostName.of("some.awful.host"), "10.23.56.103")
);
@Test
public void test_create_lb() {
var lb = loadBalancerService.create(new LoadBalancerSpec(applicationId, clusterId, reals), false);
- assertEquals(HostName.from("vip.example.com"), lb.hostname());
+ assertEquals(HostName.of("vip.example.com"), lb.hostname());
assertEquals(Optional.empty(), lb.dnsZone());
assertEquals(Set.of(), lb.networks());
assertEquals(Set.of(4443), lb.ports());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
index 1237ede5345..8d08ae1d916 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
@@ -260,7 +260,7 @@ public class RetiredExpirerTest {
private Set<String> configServerHostnames(MockDuperModel duperModel) {
return duperModel.hostnamesOf(new ConfigServerApplication().getApplicationId()).stream()
- .map(com.yahoo.config.provision.HostName::value)
+ .map(com.yahoo.net.HostName::value)
.collect(Collectors.toSet());
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
index 38724175c90..1eecb442dc0 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.persistence;
+import ai.vespa.http.DomainName;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
import com.yahoo.vespa.hosted.provision.lb.DnsZone;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerId;
@@ -31,14 +31,14 @@ public class LoadBalancerSerializerTest {
"default"),
ClusterSpec.Id.from("qrs")),
Optional.of(new LoadBalancerInstance(
- HostName.from("lb-host"),
+ DomainName.of("lb-host"),
Optional.of(new DnsZone("zone-id-1")),
ImmutableSet.of(4080, 4443),
ImmutableSet.of("10.2.3.4/24"),
- ImmutableSet.of(new Real(HostName.from("real-1"),
+ ImmutableSet.of(new Real(DomainName.of("real-1"),
"127.0.0.1",
4080),
- new Real(HostName.from("real-2"),
+ new Real(DomainName.of("real-2"),
"127.0.0.2",
4080)))),
LoadBalancer.State.active,
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImplTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImplTest.java
index 224ff51ff40..124f2a28688 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImplTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InfraDeployerImplTest.java
@@ -5,7 +5,7 @@ import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationTransaction;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.Provisioner;
@@ -14,7 +14,6 @@ import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.NodeRepositoryTester;
-import com.yahoo.vespa.hosted.provision.autoscale.MemoryMetricsDb;
import com.yahoo.vespa.hosted.provision.maintenance.InfrastructureVersions;
import com.yahoo.vespa.hosted.provision.node.Agent;
import com.yahoo.vespa.hosted.provision.node.Allocation;
@@ -137,7 +136,7 @@ public class InfraDeployerImplTest {
@SuppressWarnings("unchecked")
private void verifyActivated(String... hostnames) {
verify(duperModelInfraApi).infraApplicationActivated(
- eq(application.getApplicationId()), eq(Stream.of(hostnames).map(HostName::from).collect(Collectors.toList())));
+ eq(application.getApplicationId()), eq(Stream.of(hostnames).map(HostName::of).collect(Collectors.toList())));
ArgumentMatcher<ApplicationTransaction> transactionMatcher = t -> {
assertEquals(application.getApplicationId(), t.application());
return true;
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
index b1ee156f8e8..919c3c4be51 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
@@ -1,12 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.provisioning;
+import ai.vespa.http.DomainName;
import com.google.common.collect.Iterators;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Capacity;
import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
@@ -91,7 +92,7 @@ public class LoadBalancerProvisionerTest {
assertEquals(2, loadBalancer.instance().get().reals().size());
assertTrue("Failed node is removed", loadBalancer.instance().get().reals().stream()
.map(Real::hostname)
- .map(HostName::value)
+ .map(DomainName::value)
.noneMatch(hostname -> hostname.equals(toFail.hostname())));
assertEquals(containers.get().get(0).hostname(), get(loadBalancer.instance().get().reals(), 0).hostname().value());
assertEquals(containers.get().get(1).hostname(), get(loadBalancer.instance().get().reals(), 1).hostname().value());
diff --git a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/OrchestratorTest.java b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/OrchestratorTest.java
index a88e6766050..020ce991236 100644
--- a/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/OrchestratorTest.java
+++ b/orchestrator/src/test/java/com/yahoo/vespa/orchestrator/OrchestratorTest.java
@@ -86,9 +86,9 @@ public class OrchestratorTest {
// There is one config server application with 3 nodes
ApplicationId applicationId = new ConfigServerApplication().getApplicationId();
- var cfg1 = com.yahoo.config.provision.HostName.from("cfg1");
- var cfg2 = com.yahoo.config.provision.HostName.from("cfg2");
- var cfg3 = com.yahoo.config.provision.HostName.from("cfg3");
+ var cfg1 = com.yahoo.net.HostName.of("cfg1");
+ var cfg2 = com.yahoo.net.HostName.of("cfg2");
+ var cfg3 = com.yahoo.net.HostName.of("cfg3");
duperModelManager.infraApplicationActivated(applicationId, List.of(cfg1, cfg2, cfg3));
duperModelManager.infraApplicationsIsNowComplete();
@@ -134,7 +134,7 @@ public class OrchestratorTest {
// etc (should be the same as for cfg1)
}
- private HostName toApplicationModelHostName(com.yahoo.config.provision.HostName hostname) {
+ private HostName toApplicationModelHostName(com.yahoo.net.HostName hostname) {
return new HostName(hostname.value());
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java
index a5f124540e7..2826a76f877 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModel.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.service.duper;
import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.HostInfo;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.logging.Level;
import com.yahoo.vespa.service.monitor.DuperModelListener;
@@ -121,7 +121,7 @@ public class DuperModel {
applicationInfo.getModel().getHosts().stream()
.map(HostInfo::getHostname)
- .map(HostName::from)
+ .map(HostName::of)
.forEach(hostname -> {
if (!removedHosts.remove(hostname)) {
// hostname has been added
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java
index 9215581a2b9..239e7216475 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java
@@ -8,7 +8,7 @@ import com.yahoo.config.model.api.SuperModel;
import com.yahoo.config.model.api.SuperModelListener;
import com.yahoo.config.model.api.SuperModelProvider;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.monitor.CriticalRegion;
import com.yahoo.vespa.service.monitor.DuperModelInfraApi;
import com.yahoo.vespa.service.monitor.DuperModelListener;
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
index eccffa27930..a3fb77a9b1a 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java
@@ -9,7 +9,7 @@ import com.yahoo.config.model.api.ServiceInfo;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Capacity;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.applicationmodel.ApplicationInstanceId;
import com.yahoo.vespa.applicationmodel.ClusterId;
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthEndpoint.java b/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthEndpoint.java
index a654a4557ef..e7734954e29 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthEndpoint.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthEndpoint.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.service.health;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.executor.RunletExecutor;
import com.yahoo.vespa.service.monitor.ServiceId;
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthModel.java b/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthModel.java
index 2712b510040..a626462fb94 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthModel.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/health/StateV1HealthModel.java
@@ -5,7 +5,7 @@ import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.HostInfo;
import com.yahoo.config.model.api.PortInfo;
import com.yahoo.config.model.api.ServiceInfo;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.executor.RunletExecutor;
import com.yahoo.vespa.service.model.ApplicationInstanceGenerator;
import com.yahoo.vespa.service.monitor.ServiceId;
@@ -45,7 +45,7 @@ public class StateV1HealthModel implements AutoCloseable {
Map<ServiceId, HealthEndpoint> endpoints = new HashMap<>();
for (HostInfo hostInfo : application.getModel().getHosts()) {
- HostName hostname = HostName.from(hostInfo.getHostname());
+ HostName hostname = HostName.of(hostInfo.getHostname());
for (ServiceInfo serviceInfo : hostInfo.getServices()) {
ServiceId serviceId = ApplicationInstanceGenerator.getServiceId(application, serviceInfo);
for (PortInfo portInfo : serviceInfo.getPorts()) {
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/model/ServiceMonitorImpl.java b/service-monitor/src/main/java/com/yahoo/vespa/service/model/ServiceMonitorImpl.java
index 6e3f407bb9c..b99dd8f10e3 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/model/ServiceMonitorImpl.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/model/ServiceMonitorImpl.java
@@ -117,7 +117,7 @@ public class ServiceMonitorImpl implements ServiceMonitor, AntiServiceMonitor {
}
/** The duper model uses HostName from config.provision. */
- private static com.yahoo.config.provision.HostName toConfigProvisionHostName(HostName hostname) {
- return com.yahoo.config.provision.HostName.from(hostname.s());
+ private static com.yahoo.net.HostName toConfigProvisionHostName(HostName hostname) {
+ return com.yahoo.net.HostName.of(hostname.s());
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/DuperModelInfraApi.java b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/DuperModelInfraApi.java
index 91782d5a582..38ae695c490 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/DuperModelInfraApi.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/DuperModelInfraApi.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.monitor;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.List;
import java.util.Optional;
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelManagerTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelManagerTest.java
index a3af44ec911..0b636ea65e4 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelManagerTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelManagerTest.java
@@ -6,9 +6,7 @@ import com.yahoo.config.model.api.SuperModel;
import com.yahoo.config.model.api.SuperModelListener;
import com.yahoo.config.model.api.SuperModelProvider;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
-import com.yahoo.config.provision.SystemName;
-import com.yahoo.vespa.flags.InMemoryFlagSource;
+import com.yahoo.net.HostName;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
@@ -66,7 +64,7 @@ public class DuperModelManagerTest {
makeManager(false);
ApplicationId id = proxyHostApplication.getApplicationId();
- List<HostName> proxyHostHosts = Stream.of("proxyhost1", "proxyhost2").map(HostName::from).collect(Collectors.toList());
+ List<HostName> proxyHostHosts = Stream.of("proxyhost1", "proxyhost2").map(HostName::of).collect(Collectors.toList());
verify(duperModel, times(0)).add(any());
manager.infraApplicationActivated(id, proxyHostHosts);
verify(duperModel, times(1)).add(any());
@@ -93,12 +91,12 @@ public class DuperModelManagerTest {
}
private void testEnabledConfigServerLikeInfraApplication(ApplicationId firstId, ApplicationId secondId) {
- List<HostName> hostnames1 = Stream.of("node11", "node12").map(HostName::from).collect(Collectors.toList());
+ List<HostName> hostnames1 = Stream.of("node11", "node12").map(HostName::of).collect(Collectors.toList());
manager.infraApplicationActivated(firstId, hostnames1);
verify(duperModel, times(1)).add(any());
// Adding the second config server like application will be ignored
- List<HostName> hostnames2 = Stream.of("node21", "node22").map(HostName::from).collect(Collectors.toList());
+ List<HostName> hostnames2 = Stream.of("node21", "node22").map(HostName::of).collect(Collectors.toList());
assertThrows(IllegalArgumentException.class, () -> manager.infraApplicationActivated(secondId, hostnames2));
verify(duperModel, times(1)).add(any());
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelTest.java
index 3fa9baa5d60..dee404070ac 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/duper/DuperModelTest.java
@@ -5,7 +5,7 @@ import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.HostInfo;
import com.yahoo.config.model.api.Model;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.monitor.DuperModelListener;
import org.junit.Before;
import org.junit.Test;
@@ -34,12 +34,12 @@ public class DuperModelTest {
private final ApplicationId id1 = ApplicationId.fromSerializedForm("tenant:app1:default");
private final ApplicationInfo application1 = mock(ApplicationInfo.class);
- private final HostName hostname1_1 = HostName.from("hostname1-1");
- private final HostName hostname1_2 = HostName.from("hostname1-2");
+ private final HostName hostname1_1 = HostName.of("hostname1-1");
+ private final HostName hostname1_2 = HostName.of("hostname1-2");
private final ApplicationId id2 = ApplicationId.fromSerializedForm("tenant:app2:default");
private final ApplicationInfo application2 = mock(ApplicationInfo.class);
- private final HostName hostname2_1 = HostName.from("hostname2-1");
+ private final HostName hostname2_1 = HostName.of("hostname2-1");
private final DuperModelListener listener1 = mock(DuperModelListener.class);
@@ -129,7 +129,7 @@ public class DuperModelTest {
addAndVerifyApplication1("host1");
addAndVerifyApplication1("host1", "host2");
addAndVerifyApplication1("host2", "host3");
- assertEquals(Optional.empty(), duperModel.getApplicationId(HostName.from("host1")));
+ assertEquals(Optional.empty(), duperModel.getApplicationId(HostName.of("host1")));
duperModel.remove(id1);
assertEquals(0, duperModel.numberOfApplications());
@@ -138,7 +138,7 @@ public class DuperModelTest {
}
private void addAndVerifyApplication1(String... hostnameStrings) {
- HostName[] hostnameArray = Stream.of(hostnameStrings).map(HostName::from).toArray(HostName[]::new);
+ HostName[] hostnameArray = Stream.of(hostnameStrings).map(HostName::of).toArray(HostName[]::new);
setUpApplication(id1, application1, hostnameArray);
duperModel.add(application1);
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/health/ApplicationHealthMonitorTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/health/ApplicationHealthMonitorTest.java
index 569ad899331..59dd64fcca5 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/health/ApplicationHealthMonitorTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/health/ApplicationHealthMonitorTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.health;
import com.yahoo.config.model.api.ApplicationInfo;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.applicationmodel.ServiceStatus;
import com.yahoo.vespa.applicationmodel.ServiceStatusInfo;
import com.yahoo.vespa.service.duper.ConfigServerApplication;
@@ -87,7 +87,7 @@ public class ApplicationHealthMonitorTest {
return new ServiceId(configServerApplication.getApplicationId(),
configServerApplication.getClusterId(),
configServerApplication.getServiceType(),
- configServerApplication.configIdFor(HostName.from(hostname)));
+ configServerApplication.configIdFor(HostName.of(hostname)));
}
private ServiceStatus getStatus(ApplicationHealthMonitor monitor, String hostname) {
@@ -95,7 +95,7 @@ public class ApplicationHealthMonitorTest {
configServerApplication.getApplicationId(),
configServerApplication.getClusterId(),
configServerApplication.getServiceType(),
- configServerApplication.configIdFor(HostName.from(hostname)))
+ configServerApplication.configIdFor(HostName.of(hostname)))
.serviceStatus();
}
} \ No newline at end of file
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java
index d191d914bd0..98ee19d9505 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/health/HealthMonitorManagerTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.health;
import com.yahoo.config.model.api.ApplicationInfo;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.applicationmodel.ServiceStatus;
import com.yahoo.vespa.applicationmodel.ServiceStatusInfo;
import com.yahoo.vespa.service.duper.ControllerHostApplication;
@@ -48,7 +48,7 @@ public class HealthMonitorManagerTest {
public void infrastructureApplication() {
ProxyHostApplication proxyHostApplication = new ProxyHostApplication();
when(duperModel.isSupportedInfraApplication(proxyHostApplication.getApplicationId())).thenReturn(true);
- List<HostName> hostnames = Stream.of("proxyhost1", "proxyhost2").map(HostName::from).collect(Collectors.toList());
+ List<HostName> hostnames = Stream.of("proxyhost1", "proxyhost2").map(HostName::of).collect(Collectors.toList());
ApplicationInfo proxyHostApplicationInfo = proxyHostApplication.makeApplicationInfo(hostnames);
manager.applicationActivated(proxyHostApplicationInfo);
@@ -77,7 +77,7 @@ public class HealthMonitorManagerTest {
infraApplication.getApplicationId(),
infraApplication.getClusterId(),
infraApplication.getServiceType(),
- infraApplication.configIdFor(HostName.from(hostname))).serviceStatus();
+ infraApplication.configIdFor(HostName.of(hostname))).serviceStatus();
assertEquals(expected, actual);
@@ -85,7 +85,7 @@ public class HealthMonitorManagerTest {
infraApplication.getApplicationId(),
infraApplication.getClusterId(),
infraApplication.getServiceType(),
- infraApplication.configIdFor(HostName.from(hostname)));
+ infraApplication.configIdFor(HostName.of(hostname)));
}
} \ No newline at end of file
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java
index 4fdf6288bd8..27336d9750c 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.service.health;
import com.yahoo.config.model.api.ApplicationInfo;
import com.yahoo.config.model.api.PortInfo;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.applicationmodel.ClusterId;
import com.yahoo.vespa.applicationmodel.ConfigId;
import com.yahoo.vespa.applicationmodel.ServiceStatus;
@@ -38,7 +38,7 @@ public class StateV1HealthModelTest {
private final Duration requestTimeout = Duration.ofSeconds(2);
private final Duration keepAlive = Duration.ofSeconds(3);
private final ProxyHostApplication proxyHostApplication = new ProxyHostApplication();
- private final List<HostName> hostnames = Stream.of("host1", "host2").map(HostName::from).collect(Collectors.toList());
+ private final List<HostName> hostnames = Stream.of("host1", "host2").map(HostName::of).collect(Collectors.toList());
private final ApplicationInfo proxyHostApplicationInfo = proxyHostApplication.makeApplicationInfo(hostnames);
private final StateV1HealthModel model = new StateV1HealthModel(healthStaleness, requestTimeout, keepAlive, executor);
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
index 8ca46941366..63c6a1ba402 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ApplicationInstanceGeneratorTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.model;
import com.yahoo.config.model.api.ApplicationInfo;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.applicationmodel.ApplicationInstance;
import com.yahoo.vespa.applicationmodel.ServiceStatus;
@@ -34,7 +34,7 @@ public class ApplicationInstanceGeneratorTest {
when(statusProvider.getStatus(any(), any(), any(), any())).thenReturn(new ServiceStatusInfo(ServiceStatus.NOT_CHECKED));
Zone zone = mock(Zone.class);
ApplicationInfo configServer = configServerApplication.makeApplicationInfo(
- configServerList.stream().map(HostName::from).collect(Collectors.toList()));
+ configServerList.stream().map(HostName::of).collect(Collectors.toList()));
ApplicationInstance applicationInstance = new ApplicationInstanceGenerator(configServer, zone)
.makeApplicationInstance(statusProvider);
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/model/ServiceHostListenerAdapterTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ServiceHostListenerAdapterTest.java
index cfc24ecbaec..78dbc34734a 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/model/ServiceHostListenerAdapterTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/model/ServiceHostListenerAdapterTest.java
@@ -100,7 +100,7 @@ public class ServiceHostListenerAdapterTest {
}
private Optional<ApplicationInfo> getDuperModelApplicationInfo(String hostname) {
- return duperModel.getApplicationInfo(com.yahoo.config.provision.HostName.from(hostname));
+ return duperModel.getApplicationInfo(com.yahoo.net.HostName.of(hostname));
}
private void removeAndVerify(ApplicationId id, boolean listenerInvoked) {
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/ConfigserverUtil.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/ConfigserverUtil.java
index 40cc679b69b..756cc46cb7b 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/ConfigserverUtil.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/ConfigserverUtil.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.service.monitor;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.config.model.api.ApplicationInfo;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.service.duper.ConfigServerApplication;
import java.util.stream.Collectors;
@@ -37,7 +37,7 @@ public class ConfigserverUtil {
String configServerHostname3) {
return new ConfigServerApplication().makeApplicationInfo(
Stream.of(configServerHostname1, configServerHostname2, configServerHostname3)
- .map(HostName::from).collect(Collectors.toList()));
+ .map(HostName::of).collect(Collectors.toList()));
}
public static ApplicationInfo makeExampleConfigServer() {
diff --git a/vespajlib/abi-spec.json b/vespajlib/abi-spec.json
index ae69564b671..45f7e395da6 100644
--- a/vespajlib/abi-spec.json
+++ b/vespajlib/abi-spec.json
@@ -350,7 +350,7 @@
"fields": []
},
"com.yahoo.net.HostName": {
- "superClass": "ai.vespa.validation.PatternedStringWrapper",
+ "superClass": "ai.vespa.http.DomainName",
"interfaces": [],
"attributes": [
"public"
diff --git a/vespajlib/src/main/java/ai/vespa/http/DomainName.java b/vespajlib/src/main/java/ai/vespa/http/DomainName.java
index a566f5b95be..737f6b6d863 100644
--- a/vespajlib/src/main/java/ai/vespa/http/DomainName.java
+++ b/vespajlib/src/main/java/ai/vespa/http/DomainName.java
@@ -15,12 +15,12 @@ import static ai.vespa.validation.Validation.requireMatch;
*/
public class DomainName extends PatternedStringWrapper<DomainName> {
- static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])");
- static final Pattern domainNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern);
+ protected static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])");
+ protected static final Pattern domainNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern);
public static final DomainName localhost = DomainName.of("localhost");
- private DomainName(String value) {
+ protected DomainName(String value) {
super(requireLength(value, "domain name length", 1, 255), domainNamePattern, "domain name");
}
diff --git a/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java b/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java
index 0937627b57e..12be0002f6f 100644
--- a/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java
+++ b/vespajlib/src/main/java/ai/vespa/validation/StringWrapper.java
@@ -40,7 +40,7 @@ public abstract class StringWrapper<T extends StringWrapper<T>> implements Compa
@Override
public final boolean equals(Object o) {
if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
+ if ( ! (o instanceof StringWrapper<?>)) return false;
return value.equals(((StringWrapper<?>) o).value);
}
diff --git a/vespajlib/src/main/java/com/yahoo/net/HostName.java b/vespajlib/src/main/java/com/yahoo/net/HostName.java
index 20f1008055e..0348197a704 100644
--- a/vespajlib/src/main/java/com/yahoo/net/HostName.java
+++ b/vespajlib/src/main/java/com/yahoo/net/HostName.java
@@ -10,7 +10,7 @@ import java.util.regex.Pattern;
import static ai.vespa.validation.Validation.requireLength;
/**
- * Hostnames match {@link #hostNamePattern}, and are restricted to 64 characters in length.
+ * Hostnames match {@link #domainNamePattern}, and are restricted to 64 characters in length.
*
* This class also has utilities for getting the hostname of the system running the JVM.
* Detection of the hostname is now done before starting any Vespa
@@ -20,15 +20,12 @@ import static ai.vespa.validation.Validation.requireLength;
* @author arnej
* @author jonmv
*/
-public class HostName extends PatternedStringWrapper<HostName> {
-
- static final Pattern labelPattern = Pattern.compile("([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])");
- static final Pattern hostNamePattern = Pattern.compile("(" + labelPattern + "\\.)*" + labelPattern);
+public class HostName extends DomainName {
private static HostName preferredHostName = null;
private HostName(String value) {
- super(requireLength(value, "hostname length", 1, 64), hostNamePattern, "hostname");
+ super(requireLength(value, "hostname length", 1, 64));
}
public static HostName of(String value) {