summaryrefslogtreecommitdiffstats
path: root/service-monitor
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2019-11-15 12:55:33 +0100
committerMorten Tokle <mortent@verizonmedia.com>2019-11-15 12:55:33 +0100
commit519e504b3128a6b7caf26fca2df93af13235ed1d (patch)
tree95134371d78bdf06f996ca38b1c5180c4bc5b8bd /service-monitor
parent296196dfd5103bd14fcea0f2e6a8663e023c42fc (diff)
Support infrastructure applications on devhosts
Diffstat (limited to 'service-monitor')
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java13
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/duper/DuperModelManager.java14
2 files changed, 24 insertions, 3 deletions
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
new file mode 100644
index 00000000000..56f7274b61f
--- /dev/null
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/duper/DevHostApplication.java
@@ -0,0 +1,13 @@
+// Copyright 2019 Oath Inc. 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;
+
+/**
+ * @author mortent
+ */
+public class DevHostApplication extends HostAdminApplication {
+ public DevHostApplication() {
+ super("dev-host", NodeType.devhost);
+ }
+}
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 2b72a775b24..ada180cb333 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
@@ -9,6 +9,7 @@ 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.FlagSource;
import com.yahoo.vespa.service.monitor.DuperModelInfraApi;
import com.yahoo.vespa.service.monitor.InfraApplicationApi;
@@ -35,6 +36,7 @@ public class DuperModelManager implements DuperModelInfraApi {
static final ConfigServerApplication configServerApplication = new ConfigServerApplication();
static final ProxyHostApplication proxyHostApplication = new ProxyHostApplication();
static final TenantHostApplication tenantHostApplication = new TenantHostApplication();
+ static final DevHostApplication devHostApplicaton = new DevHostApplication();
private final Map<ApplicationId, InfraApplication> supportedInfraApplications;
@@ -48,14 +50,20 @@ public class DuperModelManager implements DuperModelInfraApi {
public DuperModelManager(ConfigserverConfig configServerConfig, FlagSource flagSource, SuperModelProvider superModelProvider) {
this(configServerConfig.multitenant(),
configServerConfig.serverNodeType() == ConfigserverConfig.ServerNodeType.Enum.controller,
- superModelProvider, new DuperModel(), flagSource);
+ superModelProvider, new DuperModel(), flagSource, SystemName.from(configServerConfig.system()));
}
/** For testing */
- DuperModelManager(boolean multitenant, boolean isController, SuperModelProvider superModelProvider, DuperModel duperModel, FlagSource flagSource) {
+ DuperModelManager(boolean multitenant, boolean isController, SuperModelProvider superModelProvider, DuperModel duperModel, FlagSource flagSource, SystemName system) {
this.duperModel = duperModel;
- if (multitenant) {
+ if (system == SystemName.dev) {
+ supportedInfraApplications =
+ (isController ?
+ Stream.of(devHostApplicaton, controllerApplication) :
+ Stream.of(devHostApplicaton, configServerApplication)
+ ).collect(Collectors.toUnmodifiableMap(InfraApplication::getApplicationId, Function.identity()));
+ } else if (multitenant) {
supportedInfraApplications =
(isController ?
Stream.of(controllerHostApplication, controllerApplication) :