aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2023-09-12 23:37:39 +0200
committergjoranv <gjoranv@gmail.com>2023-09-13 11:04:53 +0200
commiteb5b202c5ad5306563fca804c3aaf3c2858687e2 (patch)
tree58bdc1d89930bad1d2a183bfe2f6bd073b7a58de /node-repository
parent7bfcb402e4eabc26ad9174f789e813435bbf8f0e (diff)
Set wg timestamp from NodePatcher clock
.. instead of sending it from the client.
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java10
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java2
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");