diff options
author | gjoranv <gjoranv@gmail.com> | 2023-09-12 23:37:39 +0200 |
---|---|---|
committer | gjoranv <gjoranv@gmail.com> | 2023-09-13 11:04:53 +0200 |
commit | eb5b202c5ad5306563fca804c3aaf3c2858687e2 (patch) | |
tree | 58bdc1d89930bad1d2a183bfe2f6bd073b7a58de /node-repository | |
parent | 7bfcb402e4eabc26ad9174f789e813435bbf8f0e (diff) |
Set wg timestamp from NodePatcher clock
.. instead of sending it from the client.
Diffstat (limited to 'node-repository')
2 files changed, 5 insertions, 7 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java index 45d6f13513a..5915f02ec4f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java @@ -109,8 +109,7 @@ public class NodePatcher { "reports", "trustStore", "vespaVersion", - "wireguardPubkey", - "wireguardKeyTimestamp")); + "wireguardPubkey")); if (!disallowedFields.isEmpty()) { throw new IllegalArgumentException("Patching fields not supported: " + disallowedFields); } @@ -274,10 +273,9 @@ public class NodePatcher { case "trustStore": return nodeWithTrustStore(node, value); case "wireguardPubkey": - return node.withWireguardPubkey(SlimeUtils.optionalString(value).map(WireguardKey::new).orElse(null)); - case "wireguardKeyTimestamp": - return node.withWireguardKeyTimestamp(SlimeUtils.optionalInstant(value).orElse(null)); - default : + return node.withWireguardPubkey(SlimeUtils.optionalString(value).map(WireguardKey::new).orElse(null)) + .withWireguardKeyTimestamp(clock.instant()); + default: throw new IllegalArgumentException("Could not apply field '" + name + "' on a node: No such modifiable field"); } } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java index 5f0a70ab420..04f83a8ec82 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java @@ -399,7 +399,7 @@ public class NodesV2ApiTest { "{\"error-code\":\"BAD_REQUEST\",\"message\":\"Could not set field 'wireguardPubkey': Wireguard key must match '^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw480]=$', but got: 'not a wg key'\"}"); assertResponse(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com", - Utf8.toBytes("{\"wireguardPubkey\": \"lololololololololololololololololololololoo=\",\"wireguardKeyTimestamp\" : 789}"), Request.Method.PATCH), + Utf8.toBytes("{\"wireguardPubkey\": \"lololololololololololololololololololololoo=\"}"), Request.Method.PATCH), "{\"message\":\"Updated host4.yahoo.com\"}"); assertFile(new Request("http://localhost:8080/nodes/v2/node/host4.yahoo.com"), "node4-wg.json"); |