diff options
Diffstat (limited to 'node-admin')
4 files changed, 16 insertions, 15 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java index e7c348bbbec..32336743bdc 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java @@ -4,9 +4,9 @@ package com.yahoo.vespa.hosted.node.admin.configserver.noderepository; import com.fasterxml.jackson.databind.JsonNode; import com.yahoo.component.Version; import com.yahoo.config.provision.DockerImage; -import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.bindings.NodeRepositoryNode; import java.time.Instant; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -31,7 +31,7 @@ public class NodeAttributes { private Optional<Version> vespaVersion = Optional.empty(); private Optional<Version> currentOsVersion = Optional.empty(); private Optional<Instant> currentFirmwareCheck = Optional.empty(); - private Set<TrustStoreItem> trustStore = Set.of(); + private List<TrustStoreItem> trustStore = List.of(); /** The list of reports to patch. A null value is used to remove the report. */ private Map<String, JsonNode> reports = new TreeMap<>(); @@ -151,12 +151,12 @@ public class NodeAttributes { && Objects.equals(trustStore, other.trustStore); } - public NodeAttributes withTrustStore(Set<TrustStoreItem> trustStore) { - this.trustStore = Set.copyOf(trustStore); + public NodeAttributes withTrustStore(List<TrustStoreItem> trustStore) { + this.trustStore = List.copyOf(trustStore); return this; } - public Set<TrustStoreItem> getTrustStore() { + public List<TrustStoreItem> getTrustStore() { return trustStore; } @@ -170,7 +170,7 @@ public class NodeAttributes { currentOsVersion.map(ver -> "currentOsVersion=" + ver.toFullString()), currentFirmwareCheck.map(at -> "currentFirmwareCheck=" + at), Optional.ofNullable(reports.isEmpty() ? null : "reports=" + reports), - Optional.of("trustStore:" + trustStore)) + Optional.ofNullable(trustStore.isEmpty() ? null : "trustStore=" + trustStore)) .filter(Optional::isPresent) .map(Optional::get) .collect(Collectors.joining(", ", "{", "}")); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java index 96dc8cdd9fe..98d8414d48d 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java @@ -68,7 +68,7 @@ public class NodeSpec { private final Optional<ApplicationId> exclusiveTo; - private final Set<TrustStoreItem> trustStore; + private final List<TrustStoreItem> trustStore; public NodeSpec( String hostname, @@ -101,7 +101,7 @@ public class NodeSpec { Optional<String> parentHostname, Optional<URI> archiveUri, Optional<ApplicationId> exclusiveTo, - Set<TrustStoreItem> trustStore) { + List<TrustStoreItem> trustStore) { if (state == NodeState.active) { requireOptional(owner, "owner"); requireOptional(membership, "membership"); @@ -431,7 +431,7 @@ public class NodeSpec { private Optional<String> parentHostname = Optional.empty(); private Optional<URI> archiveUri = Optional.empty(); private Optional<ApplicationId> exclusiveTo = Optional.empty(); - private Set<TrustStoreItem> trustStore = Set.of(); + private List<TrustStoreItem> trustStore = List.of(); public Builder() {} @@ -642,8 +642,8 @@ public class NodeSpec { return this; } - public Builder trustStore(Set<TrustStoreItem> trustStore) { - this.trustStore = Set.copyOf(trustStore); + public Builder trustStore(List<TrustStoreItem> trustStore) { + this.trustStore = List.copyOf(trustStore); return this; } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java index d60a2f2e8ee..d5e3acf0656 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java @@ -155,9 +155,9 @@ public class RealNodeRepository implements NodeRepository { .map(event -> new Event(event.agent, event.event, Optional.ofNullable(event.at).map(Instant::ofEpochMilli).orElse(Instant.EPOCH))) .collect(Collectors.toUnmodifiableList()); - Set<TrustStoreItem> trustStore = Optional.ofNullable(node.trustStore).orElse(Set.of()).stream() + List<TrustStoreItem> trustStore = Optional.ofNullable(node.trustStore).orElse(List.of()).stream() .map(item -> new TrustStoreItem(item.fingerprint, Instant.ofEpochMilli(item.expiry))) - .collect(Collectors.toSet()); + .collect(Collectors.toList()); return new NodeSpec( @@ -278,7 +278,7 @@ public class RealNodeRepository implements NodeRepository { node.currentFirmwareCheck = nodeAttributes.getCurrentFirmwareCheck().map(Instant::toEpochMilli).orElse(null); node.trustStore = nodeAttributes.getTrustStore().stream() .map(item -> new NodeRepositoryNode.TrustStoreItem(item.fingerprint(), item.expiry().toEpochMilli())) - .collect(Collectors.toSet()); + .collect(Collectors.toList()); Map<String, JsonNode> reports = nodeAttributes.getReports(); node.reports = reports == null || reports.isEmpty() ? null : new TreeMap<>(reports); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java index b07f7d8845f..f471f9a9965 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java @@ -86,7 +86,8 @@ public class NodeRepositoryNode { @JsonProperty("history") public List<Event> history; @JsonProperty("trustStore") - public Set<TrustStoreItem> trustStore; + @JsonInclude(JsonInclude.Include.NON_EMPTY) + public List<TrustStoreItem> trustStore; @JsonProperty("reports") public Map<String, JsonNode> reports = null; |