diff options
author | Håkon Hallingstad <hakon@oath.com> | 2019-01-16 08:14:14 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@oath.com> | 2019-01-16 08:14:14 +0100 |
commit | c8aa5a5ba53c24206f390a1eee39ec3e704a5fc4 (patch) | |
tree | a1b5cbbda6b79263db725454fea7e750f75e2600 /service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java | |
parent | 7b210b2bda57003de6fff1dbe28348fe6685fa0c (diff) |
Support monitoring health of tenant hosts
Diffstat (limited to 'service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java')
-rw-r--r-- | service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java b/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java index 480691772bb..e38589b6f81 100644 --- a/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java +++ b/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java @@ -9,6 +9,8 @@ import com.yahoo.vespa.applicationmodel.ConfigId; import com.yahoo.vespa.applicationmodel.ServiceStatus; import com.yahoo.vespa.applicationmodel.ServiceType; import com.yahoo.vespa.service.duper.ProxyHostApplication; +import com.yahoo.vespa.service.duper.TestZoneApplication; +import com.yahoo.vespa.service.duper.ZoneApplication; import com.yahoo.vespa.service.executor.Cancellable; import com.yahoo.vespa.service.executor.RunletExecutor; import com.yahoo.vespa.service.model.ServiceId; @@ -34,14 +36,18 @@ public class StateV1HealthModelTest { private Duration healthStaleness = Duration.ofSeconds(1); private Duration requestTimeout = Duration.ofSeconds(2); private Duration keepAlive = Duration.ofSeconds(3); - private final StateV1HealthModel model = new StateV1HealthModel(healthStaleness, requestTimeout, keepAlive, executor); private final ProxyHostApplication proxyHostApplication = new ProxyHostApplication(); private final List<HostName> hostnames = Stream.of("host1", "host2").map(HostName::from).collect(Collectors.toList()); private final ApplicationInfo proxyHostApplicationInfo = proxyHostApplication.makeApplicationInfo(hostnames); - private final Map<ServiceId, HealthEndpoint> endpoints = model.extractHealthEndpoints(proxyHostApplicationInfo); + + private StateV1HealthModel model; + private Map<ServiceId, HealthEndpoint> endpoints; @Test public void test() { + model = new StateV1HealthModel(healthStaleness, requestTimeout, keepAlive, executor, false); + endpoints = model.extractHealthEndpoints(proxyHostApplicationInfo); + assertEquals(2, endpoints.size()); ApplicationId applicationId = ApplicationId.from("hosted-vespa", "proxy-host", "default"); @@ -63,4 +69,23 @@ public class StateV1HealthModelTest { assertEquals(ServiceStatus.DOWN, healthMonitor.getStatus()); } } + + @Test + public void testMonitoringTenantHostHealth() { + model = new StateV1HealthModel(healthStaleness, requestTimeout, keepAlive, executor, true); + ApplicationInfo zoneApplicationInfo = new TestZoneApplication.Builder() + .addNodeAdminCluster("h1") + .addRoutingCluster("r1") + .build() + .makeApplicationInfo(); + + endpoints = model.extractHealthEndpoints(zoneApplicationInfo); + assertEquals(1, endpoints.size()); + HealthEndpoint endpoint = endpoints.values().iterator().next(); + assertEquals("http://h1:8080/state/v1/health", endpoint.description()); + ServiceId serviceId = endpoint.getServiceId(); + assertEquals(ZoneApplication.getApplicationId(), serviceId.getApplicationId()); + assertEquals(ZoneApplication.getNodeAdminClusterId(), serviceId.getClusterId()); + assertEquals(ZoneApplication.getNodeAdminServiceType(), serviceId.getServiceType()); + } }
\ No newline at end of file |