diff options
Diffstat (limited to 'clustercontroller-core')
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")); |