diff options
author | gjoranv <gv@verizonmedia.com> | 2023-02-16 14:43:23 +0100 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2023-02-16 14:45:21 +0100 |
commit | feb485765ff3831eb7b9a84c9ca61973453084be (patch) | |
tree | 8665f950948f2aea4279cf278a1e5ab620c57d03 /node-admin | |
parent | a1421401500738b1e846c0b1b272c3d496b80669 (diff) |
Don't fail if a configserver lacks wg pubkey.
Diffstat (limited to 'node-admin')
3 files changed, 9 insertions, 2 deletions
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 48a42d3c81e..e092cc15145 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 @@ -343,7 +343,7 @@ public class RealNodeRepository implements NodeRepository { private static ConfigserverPeer createConfigserverPeer(GetWireguardResponse.Configserver configServer) { return new ConfigserverPeer(HostName.of(configServer.hostname), configServer.ipAddresses.stream().map(VersionedIpAddress::from).toList(), - WireguardKey.from(configServer.wireguardPubkey)); + configServer.wireguardKey()); } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetWireguardResponse.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetWireguardResponse.java index a71b2a74b31..9f30f8e0fb5 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetWireguardResponse.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetWireguardResponse.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +import com.yahoo.config.provision.WireguardKey; import java.util.List; +import java.util.Optional; /** * A response from the /nodes/v2/wireguard api. @@ -43,6 +45,10 @@ public class GetWireguardResponse { this.ipAddresses = ipAddresses; this.wireguardPubkey = wireguardPubkey; } + + public Optional<WireguardKey> wireguardKey() { + return (wireguardPubkey == null || wireguardPubkey.isEmpty()) ? Optional.empty() : Optional.of(new WireguardKey(wireguardPubkey)); + } } } diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverPeer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverPeer.java index 5aa6c52708e..63ddc2f3dd2 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverPeer.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverPeer.java @@ -5,13 +5,14 @@ import com.yahoo.config.provision.WireguardKey; import com.yahoo.vespa.hosted.node.admin.task.util.network.VersionedIpAddress; import java.util.List; +import java.util.Optional; /** * @author gjoranv */ public record ConfigserverPeer(HostName hostname, List<VersionedIpAddress> ipAddresses, - WireguardKey publicKey) { + Optional<WireguardKey> publicKey) { public ConfigserverPeer { if (ipAddresses.isEmpty()) throw new IllegalArgumentException("No IP addresses for configserver " + hostname.value()); |