summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@yahooinc.com>2024-02-16 16:45:27 +0100
committerHåkon Hallingstad <hakon@yahooinc.com>2024-02-16 16:45:27 +0100
commit80f4fd8d0012bf50f4bcf7d5b7a1dc3d574ff450 (patch)
treea8cc37360a26cd5f87ce51c57e08bc62f23571ac /node-repository
parent7c38895db17aff80157e34148be4fa9879719c4d (diff)
Set extraId if present when adding node
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java1
2 files changed, 8 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
index 48c85aed640..36221d978a1 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
@@ -732,6 +732,7 @@ public final class Node implements Nodelike {
private final State state;
private final NodeType type;
+ private String extraId;
private String parentHostname;
private String modelName;
private TenantName reservedTo;
@@ -758,6 +759,11 @@ public final class Node implements Nodelike {
this.type = type;
}
+ public Builder extraId(String extraId) {
+ this.extraId = extraId;
+ return this;
+ }
+
public Builder parentHostname(String parentHostname) {
this.parentHostname = parentHostname;
return this;
@@ -849,7 +855,7 @@ public final class Node implements Nodelike {
}
public Node build() {
- return new Node(id, Optional.empty(), Optional.ofNullable(ipConfig).orElse(IP.Config.EMPTY), hostname, Optional.ofNullable(parentHostname),
+ return new Node(id, Optional.ofNullable(extraId), Optional.ofNullable(ipConfig).orElse(IP.Config.EMPTY), hostname, Optional.ofNullable(parentHostname),
flavor, Optional.ofNullable(status).orElseGet(Status::initial), state, Optional.ofNullable(allocation),
Optional.ofNullable(history).orElseGet(History::empty), type, Optional.ofNullable(reports).orElseGet(Reports::new),
Optional.ofNullable(modelName), Optional.ofNullable(reservedTo), Optional.ofNullable(exclusiveToApplicationId),
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java
index 0b157e8635b..cef28045a8b 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java
@@ -302,6 +302,7 @@ public class NodesV2ApiHandler extends ThreadedHttpRequestHandler {
flavorFromSlime(inspector),
nodeTypeFromSlime(inspector.field("type")))
.cloudAccount(nodeRepository.zone().cloud().account());
+ optionalString(inspector.field("extraId")).ifPresent(builder::extraId);
optionalString(inspector.field("parentHostname")).ifPresent(builder::parentHostname);
optionalString(inspector.field("modelName")).ifPresent(builder::modelName);
optionalString(inspector.field("reservedTo")).map(TenantName::from).ifPresent(builder::reservedTo);