summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2018-06-08 10:04:01 +0200
committerHåkon Hallingstad <hakon@oath.com>2018-06-08 10:04:01 +0200
commit525faf78e4b3bfbdb3aabde40e18f62132652a38 (patch)
treeebf43a239fa8eff531c486ee9937b4308b86ac2e
parent76ec2b9c26c7dfbafa84e38459b47bf33623ea3a (diff)
Single-tenancy has config server as part of application model
-rw-r--r--service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/DuperModel.java6
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/application/ApplicationInstanceGeneratorTest.java1
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ConfigserverUtil.java12
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/DuperModelTest.java15
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ModelGeneratorTest.java3
-rw-r--r--service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/health/HealthMonitorManagerTest.java6
6 files changed, 34 insertions, 9 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/DuperModel.java b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/DuperModel.java
index d3c6f92312c..80e0bfd2710 100644
--- a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/DuperModel.java
+++ b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/internal/DuperModel.java
@@ -21,7 +21,11 @@ public class DuperModel {
private final List<ApplicationInfo> staticApplicationInfos = new ArrayList<>();
public DuperModel(ConfigserverConfig configServerConfig) {
- staticApplicationInfos.add(CONFIG_SERVER_APPLICATION.makeApplicationInfo(configServerConfig));
+ // Single-tenant applications have the config server as part of the application model.
+ // TODO: Add health monitoring for config server when part of application model.
+ if (configServerConfig.multitenant()) {
+ staticApplicationInfos.add(CONFIG_SERVER_APPLICATION.makeApplicationInfo(configServerConfig));
+ }
}
/** For testing. */
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/application/ApplicationInstanceGeneratorTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/application/ApplicationInstanceGeneratorTest.java
index e1d9b728bf8..899cc59bb34 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/application/ApplicationInstanceGeneratorTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/application/ApplicationInstanceGeneratorTest.java
@@ -37,6 +37,7 @@ public class ApplicationInstanceGeneratorTest {
when(statusProvider.getStatus(any(), any(), any(), any())).thenReturn(ServiceStatus.NOT_CHECKED);
ConfigserverConfig config = ConfigserverUtil.create(
true,
+ true,
configServer1,
configServer2,
configServer3);
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ConfigserverUtil.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ConfigserverUtil.java
index 68a55d41b19..85df02949a6 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ConfigserverUtil.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ConfigserverUtil.java
@@ -12,19 +12,26 @@ public class ConfigserverUtil {
/** Create a ConfigserverConfig with the given settings. */
public static ConfigserverConfig create(
boolean nodeAdminInContainer,
+ boolean multitenant,
String configServerHostname1,
String configServerHostname2,
String configServerHostname3) {
return new ConfigserverConfig(
new ConfigserverConfig.Builder()
.nodeAdminInContainer(nodeAdminInContainer)
+ .multitenant(multitenant)
.zookeeperserver(new ConfigserverConfig.Zookeeperserver.Builder().hostname(configServerHostname1).port(1))
.zookeeperserver(new ConfigserverConfig.Zookeeperserver.Builder().hostname(configServerHostname2).port(2))
.zookeeperserver(new ConfigserverConfig.Zookeeperserver.Builder().hostname(configServerHostname3).port(3)));
}
- public static ConfigserverConfig createExampleConfigserverConfig(boolean nodeAdminInContainer) {
- return create(nodeAdminInContainer, "cfg1", "cfg2", "cfg3");
+ public static ConfigserverConfig createExampleConfigserverConfig() {
+ return create(true, true, "cfg1", "cfg2", "cfg3");
+ }
+
+ public static ConfigserverConfig createExampleConfigserverConfig(boolean nodeAdminInContainer,
+ boolean multitenant) {
+ return create(nodeAdminInContainer, multitenant, "cfg1", "cfg2", "cfg3");
}
public static ApplicationInfo makeConfigServerApplicationInfo(
@@ -33,6 +40,7 @@ public class ConfigserverUtil {
String configServerHostname3) {
return ConfigServerApplication.CONFIG_SERVER_APPLICATION.makeApplicationInfo(create(
true,
+ true,
configServerHostname1,
configServerHostname2,
configServerHostname3));
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/DuperModelTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/DuperModelTest.java
index 0a68b4b0ff7..2385cca8f25 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/DuperModelTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/DuperModelTest.java
@@ -27,7 +27,7 @@ public class DuperModelTest {
@Test
public void toApplicationInstance() {
when(statusProvider.getStatus(any(), any(), any(), any())).thenReturn(ServiceStatus.NOT_CHECKED);
- ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig(true);
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig();
DuperModel duperModel = new DuperModel(config);
SuperModel superModel = mock(SuperModel.class);
ApplicationInfo superModelApplicationInfo = mock(ApplicationInfo.class);
@@ -37,4 +37,17 @@ public class DuperModelTest {
assertEquals(ConfigServerApplication.CONFIG_SERVER_APPLICATION.getApplicationId(), applicationInfos.get(0).getApplicationId());
assertSame(superModelApplicationInfo, applicationInfos.get(1));
}
+
+ @Test
+ public void toApplicationInstanceInSingleTenantMode() {
+ when(statusProvider.getStatus(any(), any(), any(), any())).thenReturn(ServiceStatus.NOT_CHECKED);
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig();
+ DuperModel duperModel = new DuperModel(config);
+ SuperModel superModel = mock(SuperModel.class);
+ ApplicationInfo superModelApplicationInfo = mock(ApplicationInfo.class);
+ when(superModel.getAllApplicationInfos()).thenReturn(Collections.singletonList(superModelApplicationInfo));
+ List<ApplicationInfo> applicationInfos = duperModel.getApplicationInfos(superModel);
+ assertEquals(1, applicationInfos.size());
+ assertSame(superModelApplicationInfo, applicationInfos.get(0));
+ }
}
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ModelGeneratorTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ModelGeneratorTest.java
index 07cfa124434..5a57451a298 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ModelGeneratorTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/ModelGeneratorTest.java
@@ -35,8 +35,7 @@ public class ModelGeneratorTest {
public void toApplicationModel() throws Exception {
SuperModel superModel = ExampleModel.createExampleSuperModelWithOneRpcPort(HOSTNAME, PORT);
- ConfigserverConfig config = ConfigserverUtil.create(
- true, "cfg1", "cfg2", "cfg3");
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig();
DuperModel duperModel = new DuperModel(config);
ModelGenerator modelGenerator = new ModelGenerator();
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/health/HealthMonitorManagerTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/health/HealthMonitorManagerTest.java
index 97963393268..b9d25406f9b 100644
--- a/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/health/HealthMonitorManagerTest.java
+++ b/service-monitor/src/test/java/com/yahoo/vespa/service/monitor/internal/health/HealthMonitorManagerTest.java
@@ -16,7 +16,7 @@ import static org.junit.Assert.assertEquals;
public class HealthMonitorManagerTest {
@Test
public void addRemove() {
- ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig(true);
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig();
HealthMonitorManager manager = new HealthMonitorManager(config);
ApplicationInfo applicationInfo = ConfigserverUtil.makeExampleConfigServer();
manager.applicationActivated(applicationInfo);
@@ -25,7 +25,7 @@ public class HealthMonitorManagerTest {
@Test
public void withNodeAdmin() {
- ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig(true);
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig();
HealthMonitorManager manager = new HealthMonitorManager(config);
ServiceStatus status = manager.getStatus(
ZoneApplication.ZONE_APPLICATION_ID,
@@ -37,7 +37,7 @@ public class HealthMonitorManagerTest {
@Test
public void withHostAdmin() {
- ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig(false);
+ ConfigserverConfig config = ConfigserverUtil.createExampleConfigserverConfig(false, true);
HealthMonitorManager manager = new HealthMonitorManager(config);
ServiceStatus status = manager.getStatus(
ZoneApplication.ZONE_APPLICATION_ID,