aboutsummaryrefslogtreecommitdiffstats
path: root/service-monitor
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@yahooinc.com>2022-01-03 17:39:33 +0100
committerHåkon Hallingstad <hakon@yahooinc.com>2022-01-03 17:39:33 +0100
commit0646515bf772065e2992152aeb7a0a808f18df62 (patch)
treed81f892f9d4ac7cafc02a4c71ba57d7545728cc5 /service-monitor
parent4528efcd87b9c078f91ecfc4f53dfee8632881e1 (diff)
Add InfrastructureApplication in application-model
Diffstat (limited to 'service-monitor')
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerHostApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerLikeApplication.java6
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerHostApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/HostAdminApplication.java9
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/InfraApplication.java35
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/ProxyHostApplication.java4
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/TenantHostApplication.java4
10 files changed, 33 insertions, 45 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerApplication.java
index b57ddc6bc92..121b7e358e8 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerApplication.java
@@ -2,9 +2,9 @@
package com.yahoo.vespa.service.duper;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.applicationmodel.ApplicationInstanceId;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
import com.yahoo.vespa.applicationmodel.ServiceType;
/**
@@ -15,7 +15,7 @@ import com.yahoo.vespa.applicationmodel.ServiceType;
public class ConfigServerApplication extends ConfigServerLikeApplication {
public ConfigServerApplication() {
- super("zone-config-servers", NodeType.config, ClusterSpec.Type.admin, ServiceType.CONFIG_SERVER);
+ super(InfrastructureApplication.CONFIG_SERVER, ClusterSpec.Type.admin, ServiceType.CONFIG_SERVER);
}
/**
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerHostApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerHostApplication.java
index 909b86886b8..b970c3c6b77 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerHostApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerHostApplication.java
@@ -1,12 +1,12 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.service.duper;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
public class ConfigServerHostApplication extends HostAdminApplication {
public ConfigServerHostApplication() {
- super("configserver-host", NodeType.confighost);
+ super(InfrastructureApplication.CONFIG_SERVER_HOST);
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerLikeApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerLikeApplication.java
index 38808b66435..cc3aeddff01 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerLikeApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ConfigServerLikeApplication.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.service.duper;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
import com.yahoo.vespa.applicationmodel.ServiceType;
/**
@@ -12,8 +12,8 @@ import com.yahoo.vespa.applicationmodel.ServiceType;
* @author hakonhall
*/
public abstract class ConfigServerLikeApplication extends InfraApplication {
- protected ConfigServerLikeApplication(String applicationName, NodeType nodeType, ClusterSpec.Type clusterType, ServiceType serviceType) {
- super(applicationName, nodeType, clusterType, ClusterSpec.Id.from(applicationName), serviceType, 19071);
+ protected ConfigServerLikeApplication(InfrastructureApplication application, ClusterSpec.Type clusterType, ServiceType serviceType) {
+ super(application, clusterType, ClusterSpec.Id.from(application.applicationName()), serviceType, 19071);
}
@Override
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerApplication.java
index 6c38149f662..c46b040d443 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerApplication.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.duper;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
import com.yahoo.vespa.applicationmodel.ServiceType;
/**
@@ -13,7 +13,7 @@ import com.yahoo.vespa.applicationmodel.ServiceType;
public class ControllerApplication extends ConfigServerLikeApplication {
public ControllerApplication() {
- super("controller", NodeType.controller, ClusterSpec.Type.container, ServiceType.CONTROLLER);
+ super(InfrastructureApplication.CONTROLLER, ClusterSpec.Type.container, ServiceType.CONTROLLER);
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerHostApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerHostApplication.java
index eaf7537e45c..7e3c8c03cb7 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerHostApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ControllerHostApplication.java
@@ -1,13 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.service.duper;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
/**
* @author mpolden
*/
public class ControllerHostApplication extends HostAdminApplication {
public ControllerHostApplication() {
- super("controller-host", NodeType.controllerhost);
+ super(InfrastructureApplication.CONTROLLER_HOST);
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java
index 65a679d2d33..e522b736290 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java
@@ -1,13 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.service.duper;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
/**
* @author mortent
*/
public class DevHostApplication extends HostAdminApplication {
public DevHostApplication() {
- super("dev-host", NodeType.devhost);
+ super(InfrastructureApplication.DEV_HOST);
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/HostAdminApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/HostAdminApplication.java
index 0b90350b7be..70a8e5e7443 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/HostAdminApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/HostAdminApplication.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.service.duper;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
import com.yahoo.vespa.applicationmodel.ServiceType;
/**
@@ -12,11 +12,10 @@ public abstract class HostAdminApplication extends InfraApplication {
public static final int HOST_ADMIN_HEALT_PORT = 8080;
- protected HostAdminApplication(String applicationName, NodeType nodeType) {
- super(applicationName,
- nodeType,
+ protected HostAdminApplication(InfrastructureApplication application) {
+ super(application,
ClusterSpec.Type.container,
- ClusterSpec.Id.from(applicationName),
+ ClusterSpec.Id.from(application.applicationName()),
ServiceType.HOST_ADMIN,
HOST_ADMIN_HEALT_PORT);
}
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 8a62db87e7c..eccffa27930 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
@@ -10,12 +10,11 @@ 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.config.provision.NodeType;
-import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.applicationmodel.ApplicationInstanceId;
import com.yahoo.vespa.applicationmodel.ClusterId;
import com.yahoo.vespa.applicationmodel.ConfigId;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
import com.yahoo.vespa.applicationmodel.ServiceType;
import com.yahoo.vespa.applicationmodel.TenantId;
import com.yahoo.vespa.service.health.StateV1HealthModel;
@@ -35,30 +34,20 @@ import java.util.stream.Collectors;
*/
public abstract class InfraApplication implements InfraApplicationApi {
- static final TenantName TENANT_NAME = TenantName.from("hosted-vespa");
-
- private final ApplicationId applicationId;
+ private final InfrastructureApplication application;
private final Capacity capacity;
private final ClusterSpec.Type clusterSpecType;
private final ClusterSpec.Id clusterSpecId;
private final ServiceType serviceType;
private final int healthPort;
- public static ApplicationId createHostedVespaApplicationId(String applicationName) {
- return new ApplicationId.Builder()
- .tenant(TENANT_NAME)
- .applicationName(applicationName)
- .build();
- }
-
- protected InfraApplication(String applicationName,
- NodeType nodeType,
+ protected InfraApplication(InfrastructureApplication application,
ClusterSpec.Type clusterSpecType,
ClusterSpec.Id clusterSpecId,
ServiceType serviceType,
int healthPort) {
- this.applicationId = createHostedVespaApplicationId(applicationName);
- this.capacity = Capacity.fromRequiredNodeType(nodeType);
+ this.application = application;
+ this.capacity = Capacity.fromRequiredNodeType(application.nodeType());
this.clusterSpecType = clusterSpecType;
this.clusterSpecId = clusterSpecId;
this.serviceType = serviceType;
@@ -67,7 +56,7 @@ public abstract class InfraApplication implements InfraApplicationApi {
@Override
public ApplicationId getApplicationId() {
- return applicationId;
+ return application.id();
}
@Override
@@ -97,16 +86,16 @@ public abstract class InfraApplication implements InfraApplicationApi {
}
public ApplicationInstanceId getApplicationInstanceId(Zone zone) {
- return ApplicationInstanceGenerator.toApplicationInstanceId(applicationId, zone);
+ return ApplicationInstanceGenerator.toApplicationInstanceId(application.id(), zone);
}
public TenantId getTenantId() {
- return new TenantId(applicationId.tenant().value());
+ return new TenantId(application.id().tenant().value());
}
public ApplicationInfo makeApplicationInfo(List<HostName> hostnames) {
List<HostInfo> hostInfos = hostnames.stream().map(this::makeHostInfo).collect(Collectors.toList());
- return new ApplicationInfo(applicationId, 0, new HostsModel(hostInfos));
+ return new ApplicationInfo(application.id(), 0, new HostsModel(hostInfos));
}
private HostInfo makeHostInfo(HostName hostname) {
@@ -147,7 +136,7 @@ public abstract class InfraApplication implements InfraApplicationApi {
if (o == null || getClass() != o.getClass()) return false;
InfraApplication that = (InfraApplication) o;
return healthPort == that.healthPort &&
- Objects.equals(applicationId, that.applicationId) &&
+ Objects.equals(application, that.application) &&
Objects.equals(capacity, that.capacity) &&
clusterSpecType == that.clusterSpecType &&
Objects.equals(clusterSpecId, that.clusterSpecId) &&
@@ -156,13 +145,13 @@ public abstract class InfraApplication implements InfraApplicationApi {
@Override
public int hashCode() {
- return Objects.hash(applicationId, capacity, clusterSpecType, clusterSpecId, serviceType, healthPort);
+ return Objects.hash(application, capacity, clusterSpecType, clusterSpecId, serviceType, healthPort);
}
@Override
public String toString() {
return "InfraApplication{" +
- "applicationId=" + applicationId +
+ "application=" + application +
", capacity=" + capacity +
", clusterSpecType=" + clusterSpecType +
", clusterSpecId=" + clusterSpecId +
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ProxyHostApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ProxyHostApplication.java
index f65dfd5577c..1819548c6cc 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ProxyHostApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/ProxyHostApplication.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.service.duper;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
public class ProxyHostApplication extends HostAdminApplication {
public ProxyHostApplication() {
- super("proxy-host", NodeType.proxyhost);
+ super(InfrastructureApplication.PROXY_HOST);
}
}
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/TenantHostApplication.java b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/TenantHostApplication.java
index 7e834a15672..312dd5b64a7 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/duper/TenantHostApplication.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/TenantHostApplication.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.service.duper;
-import com.yahoo.config.provision.NodeType;
+import com.yahoo.vespa.applicationmodel.InfrastructureApplication;
public class TenantHostApplication extends HostAdminApplication {
public TenantHostApplication() {
- super("tenant-host", NodeType.host);
+ super(InfrastructureApplication.TENANT_HOST);
}
}