summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2018-03-06 13:48:03 +0100
committerGeir Storli <geirst@oath.com>2018-03-07 11:25:10 +0100
commitf511c8a6339a2be1ffba97a8e62a72b4f8de2c23 (patch)
tree5c10d40aac1c3105e1e55fdc21f7b6678295d9df /clustercontroller-core
parent0a7e3fe02aa0f6eb93e565be972184da1dca57a3 (diff)
Also list derived bucket space states in html state.
Diffstat (limited to 'clustercontroller-core')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java14
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java2
2 files changed, 13 insertions, 3 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java
index c7f83743708..e85623f068c 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/status/LegacyIndexPageRequestHandler.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.clustercontroller.core.status;
+import com.yahoo.vdslib.state.ClusterState;
import com.yahoo.vespa.clustercontroller.core.*;
import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageResponse;
import com.yahoo.vespa.clustercontroller.core.status.statuspage.StatusPageServer;
@@ -94,8 +95,8 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa
showLocal = false;
}
- sb.append("<h2 id=\"clusterstates\">Cluster states</h2>\n")
- .append("<p>Current cluster state:<br><code>").append(stateVersionTracker.getVersionedClusterState().toString()).append("</code></p>\n");
+ sb.append("<h2 id=\"clusterstates\">Cluster states</h2>\n");
+ writeClusterStates(sb, stateVersionTracker.getVersionedClusterStateBundle());
if ( ! stateVersionTracker.getClusterStateHistory().isEmpty()) {
TimeZone tz = TimeZone.getTimeZone("UTC");
@@ -122,6 +123,15 @@ public class LegacyIndexPageRequestHandler implements StatusPageServer.RequestHa
}
}
+ private static void writeClusterStates(StringBuilder sb, ClusterStateBundle clusterStates) {
+ sb.append("<p>Baseline cluster state:<br><code>").append(clusterStates.getBaselineClusterState().toString()).append("</code></p>\n");
+ clusterStates.getDerivedBucketSpaceStates().entrySet().forEach(entry -> {
+ String bucketSpace = entry.getKey();
+ ClusterState clusterState = entry.getValue().getClusterState();
+ sb.append("<p>" + bucketSpace + " cluster state:<br><code>").append(clusterState.toString()).append("</code></p>\n");
+ });
+ }
+
private void writeClusterStateEntry(ClusterStateHistoryEntry entry, ClusterStateHistoryEntry last, StringBuilder sb, TimeZone tz) {
sb.append("<tr><td>").append(RealTimer.printDate(entry.time(), tz))
.append("</td><td>").append(entry.state().isOfficial() ? "" : "<font color=\"grey\">");
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java
index 3ab3afec3b3..45f11a2a0f3 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/StatusPagesTest.java
@@ -196,7 +196,7 @@ public class StatusPagesTest extends FleetControllerTest {
assertTrue(content, content.contains("<html>"));
assertTrue(content, content.contains("</html>"));
- assertTrue(content, content.contains("Current cluster state"));
+ assertTrue(content, content.contains("Baseline cluster state"));
assertTrue(content, content.contains("Cluster states"));
assertTrue(content, content.contains("Event log"));