aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2023-02-18 23:05:16 +0100
committerGitHub <noreply@github.com>2023-02-18 23:05:16 +0100
commita1b05c4c334b354c634aa76ea3a7a55361789a61 (patch)
treedff954e826eaeab7e99f9f36a3e2a6fe346c174b
parentb436d28e7cfb0d8e0c5123e52835c6a8b23ff78a (diff)
parent623b2538aec3848facfb72abc4d7ba0f893ca686 (diff)
Merge pull request #26096 from vespa-engine/use-node-repo-for-wg
Use node repo for wg
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/WireguardKey.java7
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java5
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetWireguardResponse.java6
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java6
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/VersionedIpAddress.java21
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParameters.java36
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ParameterStore.java28
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParameters.java32
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeer.java6
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepositoryTest.java18
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParametersTest.java23
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParametersTest.java22
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeerTest.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java24
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json5
18 files changed, 55 insertions, 198 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/WireguardKey.java b/config-provisioning/src/main/java/com/yahoo/config/provision/WireguardKey.java
index 37218a42c70..8f6494d8f74 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/WireguardKey.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/WireguardKey.java
@@ -1,7 +1,9 @@
package com.yahoo.config.provision;
import ai.vespa.validation.PatternedStringWrapper;
+import com.google.common.io.CharStreams;
+import java.util.UUID;
import java.util.regex.Pattern;
/**
@@ -27,4 +29,9 @@ public class WireguardKey extends PatternedStringWrapper<WireguardKey> {
public String toString() {
return "Wireguard key '" + value() + "'";
}
+
+ public static WireguardKey generateRandomForTesting() {
+ var str = UUID.randomUUID().toString().replace("-", "");
+ return new WireguardKey(str + "12345678900=");
+ }
}
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 1befb543201..3a7e12f5661 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
@@ -135,6 +135,7 @@ public class RealNodeRepository implements NodeRepository {
final GetNodesResponse response = configServerApi.get(path, GetNodesResponse.class);
return response.nodes.stream()
+ .filter(node -> node.wireguardPubkey != null && ! node.wireguardPubkey.isEmpty())
.map(RealNodeRepository::createTenantPeer)
.sorted()
.toList();
@@ -353,13 +354,13 @@ public class RealNodeRepository implements NodeRepository {
private static WireguardPeer createTenantPeer(NodeRepositoryNode node) {
return new WireguardPeer(HostName.of(node.hostname),
node.ipAddresses.stream().map(VersionedIpAddress::from).toList(),
- node.wireguardKey());
+ WireguardKey.from(node.wireguardPubkey));
}
private static WireguardPeer createConfigserverPeer(GetWireguardResponse.Configserver configServer) {
return new WireguardPeer(HostName.of(configServer.hostname),
configServer.ipAddresses.stream().map(VersionedIpAddress::from).toList(),
- configServer.wireguardKey());
+ WireguardKey.from(configServer.wireguardPubkey));
}
}
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 9f30f8e0fb5..a71b2a74b31 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,10 +4,8 @@ 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.
@@ -45,10 +43,6 @@ 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/configserver/noderepository/bindings/NodeRepositoryNode.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java
index 1c6cb5224de..eb7ceab6021 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
@@ -5,11 +5,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
-import com.yahoo.config.provision.WireguardKey;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
import java.util.Set;
/**
@@ -96,10 +94,6 @@ public class NodeRepositoryNode {
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public String wireguardPubkey;
- public Optional<WireguardKey> wireguardKey() {
- return (wireguardPubkey == null || wireguardPubkey.isEmpty()) ? Optional.empty() : Optional.of(new WireguardKey(wireguardPubkey));
- }
-
@JsonProperty("reports")
public Map<String, JsonNode> reports = null;
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/VersionedIpAddress.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/VersionedIpAddress.java
index 4e11b050d38..7499820aafd 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/VersionedIpAddress.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/network/VersionedIpAddress.java
@@ -7,6 +7,9 @@ import java.net.Inet6Address;
import java.net.InetAddress;
/**
+ * Encapsulates an IP address and its version along with some convenience methods.
+ * Sorted by version (IPv6 first), then by address.
+ *
* @author gjoranv
*/
public class VersionedIpAddress implements Comparable<VersionedIpAddress> {
@@ -19,6 +22,14 @@ public class VersionedIpAddress implements Comparable<VersionedIpAddress> {
version = getVersionOrThrow(address);
}
+ public static VersionedIpAddress from(InetAddress address) {
+ return new VersionedIpAddress(address);
+ }
+
+ public static VersionedIpAddress from(String address) {
+ return from(InetAddresses.forString(address));
+ }
+
public IPVersion version() {
return version;
}
@@ -27,13 +38,9 @@ public class VersionedIpAddress implements Comparable<VersionedIpAddress> {
return InetAddresses.toAddrString(address);
}
- public static VersionedIpAddress from(InetAddress address) {
- return new VersionedIpAddress(address);
- }
-
- // TODO: remove?
- public static VersionedIpAddress from(String address) {
- return from(InetAddresses.forString(address));
+ public String asEndpoint(int port) {
+ var format = (version == IPVersion.IPv6) ? "[%s]:%d" : "%s:%d";
+ return String.format(format, asString(), port);
}
private static IPVersion getVersionOrThrow(InetAddress address) {
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParameters.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParameters.java
deleted file mode 100644
index c74ba2b7d6c..00000000000
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParameters.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.yahoo.vespa.hosted.node.admin.wireguard;
-
-import com.yahoo.config.provision.WireguardKey;
-import com.yahoo.slime.Cursor;
-import com.yahoo.slime.Slime;
-import com.yahoo.slime.SlimeUtils;
-
-/**
- * Wireguard parameters for a configserver.
- *
- * @author gjoranv
- */
-public record ConfigserverParameters(String hostname, String endpoint, WireguardKey publicKey) {
-
- public static ConfigserverParameters fromJson(String json) {
- Slime slime = SlimeUtils.jsonToSlime(json);
- Cursor root = slime.get();
- return new ConfigserverParameters(
- root.field("hostname").asString(),
- root.field("endpoint").asString(),
- WireguardKey.from(root.field("publicKey").asString())
- );
- }
-
- public String toJson() {
- Slime slime = new Slime();
- Cursor cursor = slime.setObject();
- cursor.setString("hostname", hostname);
- cursor.setString("endpoint", endpoint);
- cursor.setString("publicKey", publicKey.value());
- return SlimeUtils.toJson(slime);
- }
-
-}
-
-
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ParameterStore.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ParameterStore.java
deleted file mode 100644
index 4c7ddb23ecc..00000000000
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/ParameterStore.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.yahoo.vespa.hosted.node.admin.wireguard;
-
-import com.yahoo.config.provision.zone.ZoneApi;
-
-import java.util.List;
-
-/**
- * A cloud-agnostic store of parameters for Wireguard.
- *
- * @author gjoranv
- */
-public interface ParameterStore {
-
- /** Returns the configservers for the given zone. */
- List<ConfigserverParameters> getConfigservers(ZoneApi zoneApi);
-
- /** Returns the tenant nodes for the given zone. */
- List<TenantParameters> getTenantNodes(ZoneApi zoneApi);
-
- void addConfigserver(ConfigserverParameters configserver);
-
- void addTenantNode(TenantParameters tenant);
-
- void removeConfigserver(String hostname);
-
- void removeTenantNode(String hostname);
-
-}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParameters.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParameters.java
deleted file mode 100644
index e06ffacdf3b..00000000000
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParameters.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.yahoo.vespa.hosted.node.admin.wireguard;
-
-import com.yahoo.config.provision.WireguardKey;
-import com.yahoo.slime.Cursor;
-import com.yahoo.slime.Slime;
-import com.yahoo.slime.SlimeUtils;
-
-/**
- * Wireguard parameters for a tenant host/node.
- *
- * @author gjoranv
- */
-public record TenantParameters(String hostname, WireguardKey publicKey) {
-
- public static TenantParameters fromJson(String json) {
- Slime slime = SlimeUtils.jsonToSlime(json);
- Cursor root = slime.get();
- return new TenantParameters(
- root.field("hostname").asString(),
- WireguardKey.from(root.field("publicKey").asString())
- );
- }
-
- public String toJson() {
- Slime slime = new Slime();
- Cursor cursor = slime.setObject();
- cursor.setString("hostname", hostname);
- cursor.setString("publicKey", publicKey.value());
- return SlimeUtils.toJson(slime);
- }
-
-}
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeer.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeer.java
index f3ee8f0eb7f..0f4d2d5d8e0 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeer.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeer.java
@@ -5,16 +5,16 @@ 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;
/**
- * A wireguard peer.
+ * A wireguard peer. Sorted by hostname. IP addresses are sorted by version, IPv6 first.
+ * The public key should always be non-null.
*
* @author gjoranv
*/
public record WireguardPeer(HostName hostname,
List<VersionedIpAddress> ipAddresses,
- Optional<WireguardKey> publicKey) implements Comparable<WireguardPeer> {
+ WireguardKey publicKey) implements Comparable<WireguardPeer> {
public WireguardPeer {
if (ipAddresses.isEmpty()) throw new IllegalArgumentException("No IP addresses for peer node " + hostname.value());
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepositoryTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepositoryTest.java
index 96a0a46a3ff..8d19925a886 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepositoryTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepositoryTest.java
@@ -204,28 +204,24 @@ public class RealNodeRepositoryTest {
//// Configservers ////
List<WireguardPeer> cfgPeers = nodeRepositoryApi.getConfigserverPeers();
- assertEquals(2, cfgPeers.size());
+
+ // cfg2 does not have a wg public key, so should not be included
+ assertEquals(1, cfgPeers.size());
assertWireguardPeer(cfgPeers.get(0), "cfg1.yahoo.com",
"::201:1", "127.0.201.1",
"lololololololololololololololololololololoo=");
- assertWireguardPeer(cfgPeers.get(1), "cfg2.yahoo.com",
- "::202:1", "127.0.202.1",
- "olololololololololololololololololololololo=");
-
//// Exclave nodes ////
List<WireguardPeer> exclavePeers = nodeRepositoryApi.getExclavePeers();
- assertEquals(2, exclavePeers.size());
+
+ // host3 does not have a wg public key, so should not be included
+ assertEquals(1, exclavePeers.size());
assertWireguardPeer(exclavePeers.get(0), "dockerhost2.yahoo.com",
"::101:1", "127.0.101.1",
"000011112222333344445555666677778888999900c=");
-
- assertWireguardPeer(exclavePeers.get(1), "host3.yahoo.com",
- "::3:1", "127.0.3.1",
- "333344445555666677778888999900001111222211c=");
}
private void assertWireguardPeer(WireguardPeer peer, String hostname, String ipv6, String ipv4, String publicKey) {
@@ -233,7 +229,7 @@ public class RealNodeRepositoryTest {
assertEquals(2, peer.ipAddresses().size());
assertIp(peer.ipAddresses().get(0), ipv6, 6);
assertIp(peer.ipAddresses().get(1), ipv4, 4);
- assertEquals(publicKey, peer.publicKey().get().value());
+ assertEquals(publicKey, peer.publicKey().value());
}
private void assertIp(VersionedIpAddress ip, String expectedIp, int expectedVersion) {
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParametersTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParametersTest.java
deleted file mode 100644
index 616590d4993..00000000000
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/ConfigserverParametersTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.yahoo.vespa.hosted.node.admin.wireguard;
-
-import com.yahoo.config.provision.WireguardKey;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * @author gjoranv
- */
-public class ConfigserverParametersTest {
-
- private static final String dummyKey = "qT+1Kdx7qZZpbqBxHupj7XgmVXSfcXol1RccaSd40XA=";
-
- @Test
- public void parameters_can_be_converted_to_json_and_back() {
- ConfigserverParameters params = new ConfigserverParameters("host", "endpoint",
- WireguardKey.from(dummyKey));
- ConfigserverParameters params2 = ConfigserverParameters.fromJson(params.toJson());
- assertEquals(params, params2);
- }
-
-}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParametersTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParametersTest.java
deleted file mode 100644
index b1109ea351c..00000000000
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/TenantParametersTest.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.yahoo.vespa.hosted.node.admin.wireguard;
-
-import com.yahoo.config.provision.WireguardKey;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * @author gjoranv
- */
-public class TenantParametersTest {
-
- private static final String dummyKey = "qT+1Kdx7qZZpbqBxHupj7XgmVXSfcXol1RccaSd40XA=";
-
- @Test
- public void parameters_can_be_converted_to_json_and_back() {
- TenantParameters params = new TenantParameters("host", WireguardKey.from(dummyKey));
- TenantParameters params2 = TenantParameters.fromJson(params.toJson());
- assertEquals(params, params2);
- }
-
-}
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeerTest.java
index 3264c9aa190..00aca5c5e4d 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/wireguard/WireguardPeerTest.java
@@ -1,11 +1,11 @@
package com.yahoo.vespa.hosted.node.admin.wireguard;
import com.yahoo.config.provision.HostName;
+import com.yahoo.config.provision.WireguardKey;
import com.yahoo.vespa.hosted.node.admin.task.util.network.VersionedIpAddress;
import org.junit.jupiter.api.Test;
import java.util.List;
-import java.util.Optional;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -29,6 +29,7 @@ public class WireguardPeerTest {
}
private static WireguardPeer peer(String hostname) {
- return new WireguardPeer(HostName.of(hostname), List.of(VersionedIpAddress.from("::1:1")), Optional.empty());
+ return new WireguardPeer(HostName.of(hostname), List.of(VersionedIpAddress.from("::1:1")),
+ WireguardKey.generateRandomForTesting());
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java
index 0bac6f09029..11be80de990 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/WireguardResponse.java
@@ -1,13 +1,18 @@
package com.yahoo.vespa.hosted.provision.restapi;
import com.yahoo.config.provision.NodeType;
+import com.yahoo.config.provision.WireguardKey;
import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.NodeRepository;
+import java.util.Set;
+
/**
+ * A response containing the wireguard peer config for each configserver that has a public key.
+ *
* @author gjoranv
*/
public class WireguardResponse extends SlimeJsonResponse {
@@ -20,17 +25,18 @@ public class WireguardResponse extends SlimeJsonResponse {
.list(Node.State.active)
.nodeType(NodeType.config);
- configservers.forEach(
- configserver -> addConfigserver(cfgArray.addObject(), configserver));
+ configservers.stream()
+ .filter(node -> node.wireguardPubKey().isPresent())
+ .forEach(configserver -> addConfigserver(cfgArray.addObject(),
+ configserver.hostname(),
+ configserver.wireguardPubKey().get(),
+ configserver.ipConfig().primary()));
}
- private void addConfigserver(Cursor cfgEntry, Node configserver) {
- cfgEntry.setString("hostname", configserver.hostname());
-
- configserver.wireguardPubKey().ifPresent(
- key -> cfgEntry.setString("wireguardPubkey", key.value()));
-
- NodesResponse.ipAddressesToSlime(configserver.ipConfig().primary(), cfgEntry.setArray("ipAddresses"));
+ private void addConfigserver(Cursor cfgEntry, String hostname, WireguardKey key, Set<String> ipAddresses) {
+ cfgEntry.setString("hostname", hostname);
+ cfgEntry.setString("wireguardPubkey", key.value());
+ NodesResponse.ipAddressesToSlime(ipAddresses, cfgEntry.setArray("ipAddresses"));
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
index 3caefcdc69e..66d1568262b 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java
@@ -110,7 +110,6 @@ public class MockNodeRepository extends NodeRepository {
.cloudAccount(defaultCloudAccount).build());
// Emulate node in tenant account
nodes.add(Node.create("node3", ipConfig(3), "host3.yahoo.com", resources(0.5, 48, 500, 1, fast, local), NodeType.tenant)
- .wireguardPubKey(WireguardKey.from("333344445555666677778888999900001111222211c="))
.cloudAccount(tenantAccount).build());
Node node4 = Node.create("node4", ipConfig(4), "host4.yahoo.com", resources(1, 4, 100, 1, fast, local), NodeType.tenant)
.parentHostname("dockerhost1.yahoo.com")
@@ -173,7 +172,7 @@ public class MockNodeRepository extends NodeRepository {
nodes.add(Node.create("cfg1", ipConfig(201), "cfg1.yahoo.com", flavors.getFlavorOrThrow("default"), NodeType.config)
.wireguardPubKey(WireguardKey.from("lololololololololololololololololololololoo=")).build());
nodes.add(Node.create("cfg2", ipConfig(202), "cfg2.yahoo.com", flavors.getFlavorOrThrow("default"), NodeType.config)
- .wireguardPubKey(WireguardKey.from("olololololololololololololololololololololo=")).build());
+ .build());
// Ready all nodes, except 7 and 55
nodes = nodes().addNodes(nodes, Agent.system);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json
index c970725d015..3bd45acb856 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json
@@ -116,6 +116,5 @@
"127.0.202.1",
"::202:1"
],
- "additionalIpAddresses": [],
- "wireguardPubkey":"olololololololololololololololololololololo="
+ "additionalIpAddresses": []
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json
index aa45de1f3dd..1c560c2f95b 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json
@@ -50,6 +50,5 @@
"::3:1"
],
"additionalIpAddresses": [],
- "cloudAccount": "777888999000",
- "wireguardPubkey":"333344445555666677778888999900001111222211c="
+ "cloudAccount": "777888999000"
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json
index c2853536c5d..660b92d92ba 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/wireguard.json
@@ -5,11 +5,6 @@
"hostname":"cfg1.yahoo.com",
"wireguardPubkey":"lololololololololololololololololololololoo=",
"ipAddresses":["127.0.201.1","::201:1"]
- },
- {
- "hostname":"cfg2.yahoo.com",
- "wireguardPubkey":"olololololololololololololololololololololo=",
- "ipAddresses":["127.0.202.1","::202:1"]
}
]
}