summaryrefslogtreecommitdiffstats
path: root/application-model
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2021-07-28 14:39:40 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2021-07-28 14:39:40 +0200
commit643032b7df47eb8551cf19d09fad4894a6d7457e (patch)
tree2d50a2cdc6289d7792d171d91d72eda1ac397661 /application-model
parentd24031c95eb561edcac408e3f6f676a1960cd3ee (diff)
Use OrchestrationParams
Diffstat (limited to 'application-model')
-rw-r--r--application-model/src/main/java/com/yahoo/vespa/applicationmodel/ApplicationInstanceId.java3
-rw-r--r--application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceCluster.java16
2 files changed, 19 insertions, 0 deletions
diff --git a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ApplicationInstanceId.java b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ApplicationInstanceId.java
index 801213dcf40..ed2b06a18f3 100644
--- a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ApplicationInstanceId.java
+++ b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ApplicationInstanceId.java
@@ -16,6 +16,9 @@ public class ApplicationInstanceId {
public boolean isConfigServerHost() { return id.startsWith("configserver-host:"); }
public static final ApplicationInstanceId CONTROLLER_HOST = new ApplicationInstanceId("controller-host:prod:default:default");
public boolean isTenantHost() { return id.startsWith("tenant-host:"); }
+ public boolean isProxyHost() { return id.startsWith("proxy-host:"); }
+ // Routing application instance ID is of the form: routing:prod:eu-west-1:default
+ public boolean isProxy() { return id.startsWith("routing:"); }
private final String id;
diff --git a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceCluster.java b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceCluster.java
index baede298896..f7398d0478f 100644
--- a/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceCluster.java
+++ b/application-model/src/main/java/com/yahoo/vespa/applicationmodel/ServiceCluster.java
@@ -98,12 +98,28 @@ public class ServiceCluster {
Objects.equals(serviceType, ServiceType.HOST_ADMIN);
}
+ @JsonIgnore
+ public boolean isProxy() {
+ return isHostedVespaApplicationWithPredicate(ApplicationInstanceId::isProxy) &&
+ Objects.equals(clusterId, ClusterId.ROUTING) &&
+ Objects.equals(serviceType, ServiceType.CONTAINER);
+ }
+
+ @JsonIgnore
+ public boolean isProxyHost() {
+ return isHostedVespaApplicationWithPredicate(ApplicationInstanceId::isProxyHost) &&
+ Objects.equals(clusterId, ClusterId.PROXY_HOST) &&
+ Objects.equals(serviceType, ServiceType.HOST_ADMIN);
+ }
+
public String nodeDescription(boolean plural) {
String pluralSuffix = plural ? "s" : "";
return isConfigServer() ? "config server" + pluralSuffix :
isConfigServerHost() ? "config server host" + pluralSuffix :
isController() ? "controller" + pluralSuffix :
isControllerHost() ? "controller host" + pluralSuffix :
+ isProxy() ? (plural ? "proxies" : "proxy") :
+ isProxyHost() ? "proxy host" + pluralSuffix :
isTenantHost() ? "tenant host" + pluralSuffix :
"node" + pluralSuffix + " of {" + serviceType + "," + clusterId + "}";
}