aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node
diff options
context:
space:
mode:
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java23
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java2
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java2
3 files changed, 26 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
index e54b91d9c67..d217d038e42 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.node.admin.configserver.noderepository;
import com.fasterxml.jackson.databind.JsonNode;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.CloudAccount;
import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
@@ -30,6 +31,7 @@ public class NodeSpec {
private final String id;
private final NodeState state;
private final NodeType type;
+ private final CloudAccount cloudAccount;
private final String flavor;
private final Optional<DockerImage> wantedDockerImage;
@@ -82,6 +84,7 @@ public class NodeSpec {
Optional<DockerImage> currentDockerImage,
NodeState state,
NodeType type,
+ CloudAccount cloudAccount,
String flavor,
Optional<Version> wantedVespaVersion,
Optional<Version> currentVespaVersion,
@@ -125,6 +128,7 @@ public class NodeSpec {
this.currentDockerImage = Objects.requireNonNull(currentDockerImage);
this.state = Objects.requireNonNull(state);
this.type = Objects.requireNonNull(type);
+ this.cloudAccount = Objects.requireNonNull(cloudAccount);
this.flavor = Objects.requireNonNull(flavor);
this.modelName = Objects.requireNonNull(modelName);
this.wantedVespaVersion = Objects.requireNonNull(wantedVespaVersion);
@@ -171,6 +175,10 @@ public class NodeSpec {
return type;
}
+ public CloudAccount cloudAccount() {
+ return cloudAccount;
+ }
+
public String flavor() {
return flavor;
}
@@ -318,6 +326,7 @@ public class NodeSpec {
Objects.equals(currentDockerImage, that.currentDockerImage) &&
Objects.equals(state, that.state) &&
Objects.equals(type, that.type) &&
+ Objects.equals(cloudAccount, that.cloudAccount) &&
Objects.equals(flavor, that.flavor) &&
Objects.equals(modelName, that.modelName) &&
Objects.equals(wantedVespaVersion, that.wantedVespaVersion) &&
@@ -356,6 +365,7 @@ public class NodeSpec {
currentDockerImage,
state,
type,
+ cloudAccount,
flavor,
modelName,
wantedVespaVersion,
@@ -394,6 +404,7 @@ public class NodeSpec {
+ " currentDockerImage=" + currentDockerImage
+ " state=" + state
+ " type=" + type
+ + " cloudAccount=" + cloudAccount
+ " flavor=" + flavor
+ " modelName=" + modelName
+ " wantedVespaVersion=" + wantedVespaVersion
@@ -429,6 +440,7 @@ public class NodeSpec {
private String id;
private NodeState state;
private NodeType type;
+ private CloudAccount cloudAccount = CloudAccount.empty;
private String flavor;
private Optional<DockerImage> wantedDockerImage = Optional.empty();
private Optional<DockerImage> currentDockerImage = Optional.empty();
@@ -526,6 +538,11 @@ public class NodeSpec {
return this;
}
+ public Builder cloudAccount(CloudAccount cloudAccount) {
+ this.cloudAccount = cloudAccount;
+ return this;
+ }
+
public Builder flavor(String flavor) {
this.flavor = flavor;
return this;
@@ -720,6 +737,10 @@ public class NodeSpec {
return type;
}
+ public CloudAccount cloudAccount() {
+ return cloudAccount;
+ }
+
public String flavor() {
return flavor;
}
@@ -801,7 +822,7 @@ public class NodeSpec {
}
public NodeSpec build() {
- return new NodeSpec(hostname, id, wantedDockerImage, currentDockerImage, state, type, flavor,
+ return new NodeSpec(hostname, id, wantedDockerImage, currentDockerImage, state, type, cloudAccount, flavor,
wantedVespaVersion, currentVespaVersion, wantedOsVersion, currentOsVersion, orchestratorStatus,
owner, membership,
wantedRestartGeneration, currentRestartGeneration,
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 3a7e12f5661..b26b9d2d0e4 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
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.node.admin.configserver.noderepository;
import com.fasterxml.jackson.databind.JsonNode;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.CloudAccount;
import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.NodeResources;
@@ -202,6 +203,7 @@ public class RealNodeRepository implements NodeRepository {
Optional.ofNullable(node.currentDockerImage).map(DockerImage::fromString),
nodeState,
nodeType,
+ Optional.ofNullable(node.cloudAccount).map(CloudAccount::from).orElse(CloudAccount.empty),
node.flavor,
Optional.ofNullable(node.wantedVespaVersion).map(Version::fromString),
Optional.ofNullable(node.vespaVersion).map(Version::fromString),
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 eb7ceab6021..8078b3acf6f 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
@@ -27,6 +27,8 @@ public class NodeRepositoryNode {
public Set<String> additionalIpAddresses;
@JsonProperty("id")
public String id;
+ @JsonProperty("cloudAccount")
+ public String cloudAccount;
@JsonProperty("flavor")
public String flavor;
@JsonProperty("resources")