summaryrefslogtreecommitdiffstats
path: root/service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@oath.com>2019-01-16 08:14:14 +0100
committerHåkon Hallingstad <hakon@oath.com>2019-01-16 08:14:14 +0100
commitc8aa5a5ba53c24206f390a1eee39ec3e704a5fc4 (patch)
treea1b5cbbda6b79263db725454fea7e750f75e2600 /service-monitor/src/test/java/com/yahoo/vespa/service/health/StateV1HealthModelTest.java
parent7b210b2bda57003de6fff1dbe28348fe6685fa0c (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.java29
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