diff options
author | Håkon Hallingstad <hakon@oath.com> | 2018-06-08 10:04:01 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2018-06-08 10:04:01 +0200 |
commit | 525faf78e4b3bfbdb3aabde40e18f62132652a38 (patch) | |
tree | ebf43a239fa8eff531c486ee9937b4308b86ac2e /service-monitor | |
parent | 76ec2b9c26c7dfbafa84e38459b47bf33623ea3a (diff) |
Single-tenancy has config server as part of application model
Diffstat (limited to 'service-monitor')
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, |