aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-06-09 10:28:36 +0200
committerMartin Polden <mpolden@mpolden.no>2022-06-09 14:01:53 +0200
commitbd867483e9a3d6888615408926f5a4a33d003e88 (patch)
tree22ccd093047d45c302a3506477d98e13a8b97268 /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
parenta7f7e837d1516017835e731ca022b6fc4d33bc2a (diff)
Use records in versions package
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java11
1 files changed, 2 insertions, 9 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
index fc7fbe45767..8ee891ae8a6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/OsVersionStatus.java
@@ -26,22 +26,15 @@ import java.util.stream.Collectors;
*
* @author mpolden
*/
-public class OsVersionStatus {
+public record OsVersionStatus(Map<OsVersion, List<NodeVersion>> versions) {
public static final OsVersionStatus empty = new OsVersionStatus(ImmutableMap.of());
- private final Map<OsVersion, List<NodeVersion>> versions;
-
/** Public for serialization purpose only. Use {@link OsVersionStatus#compute(Controller)} for an up-to-date status */
public OsVersionStatus(Map<OsVersion, List<NodeVersion>> versions) {
this.versions = ImmutableMap.copyOf(Objects.requireNonNull(versions, "versions must be non-null"));
}
- /** All known OS versions and their nodes */
- public Map<OsVersion, List<NodeVersion>> versions() {
- return versions;
- }
-
/** Returns nodes eligible for OS upgrades that exist in given cloud */
public List<NodeVersion> nodesIn(CloudName cloud) {
return versions.entrySet().stream()
@@ -91,7 +84,7 @@ public class OsVersionStatus {
return controller.zoneRegistry().osUpgradePolicies().stream()
.flatMap(upgradePolicy -> upgradePolicy.steps().stream())
.flatMap(Collection::stream)
- .collect(Collectors.toUnmodifiableList());
+ .toList();
}
}