aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-12-05 16:15:56 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-12-05 16:15:56 +0100
commitb5dfd903915595b6144c7666854c09f86b11a65c (patch)
tree944dddea69c4a58ef3a068cdb6b9b4f211716c4d /node-admin
parent66db6f0126b5f99cee3fe80332ba36429cd4dc64 (diff)
Add cpuCores to node-admin NodeSpec
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java22
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java1
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java3
3 files changed, 23 insertions, 3 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 a9bb42e4dde..d51717d2c5c 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
@@ -25,6 +25,7 @@ public class NodeSpec {
private final NodeState state;
private final NodeType type;
private final String flavor;
+ private final Optional<Double> cpuCores;
private final Optional<DockerImage> wantedDockerImage;
private final Optional<DockerImage> currentDockerImage;
@@ -66,6 +67,7 @@ public class NodeSpec {
NodeState state,
NodeType type,
String flavor,
+ Optional<Double> cpuCores,
Optional<Version> wantedVespaVersion,
Optional<Version> currentVespaVersion,
Optional<Version> wantedOsVersion,
@@ -99,7 +101,8 @@ public class NodeSpec {
this.state = Objects.requireNonNull(state);
this.type = Objects.requireNonNull(type);
this.flavor = Objects.requireNonNull(flavor);
- this.modelName = modelName;
+ this.cpuCores = Objects.requireNonNull(cpuCores);
+ this.modelName = Objects.requireNonNull(modelName);
this.wantedVespaVersion = Objects.requireNonNull(wantedVespaVersion);
this.currentVespaVersion = Objects.requireNonNull(currentVespaVersion);
this.wantedOsVersion = Objects.requireNonNull(wantedOsVersion);
@@ -137,6 +140,10 @@ public class NodeSpec {
return flavor;
}
+ public Optional<Double> cpuCores() {
+ return cpuCores;
+ }
+
public Optional<DockerImage> wantedDockerImage() {
return wantedDockerImage;
}
@@ -256,6 +263,7 @@ public class NodeSpec {
Objects.equals(state, that.state) &&
Objects.equals(type, that.type) &&
Objects.equals(flavor, that.flavor) &&
+ Objects.equals(cpuCores, that.cpuCores) &&
Objects.equals(wantedVespaVersion, that.wantedVespaVersion) &&
Objects.equals(currentVespaVersion, that.currentVespaVersion) &&
Objects.equals(wantedOsVersion, that.wantedOsVersion) &&
@@ -286,6 +294,7 @@ public class NodeSpec {
state,
type,
flavor,
+ cpuCores,
wantedVespaVersion,
currentVespaVersion,
wantedOsVersion,
@@ -316,6 +325,7 @@ public class NodeSpec {
+ " state=" + state
+ " type=" + type
+ " flavor=" + flavor
+ + " cpuCores=" + cpuCores
+ " wantedVespaVersion=" + wantedVespaVersion
+ " currentVespaVersion=" + currentVespaVersion
+ " wantedOsVersion=" + wantedOsVersion
@@ -343,6 +353,7 @@ public class NodeSpec {
private NodeState state;
private NodeType type;
private String flavor;
+ private Optional<Double> cpuCores = Optional.empty();
private Optional<DockerImage> wantedDockerImage = Optional.empty();
private Optional<DockerImage> currentDockerImage = Optional.empty();
private Optional<Version> wantedVespaVersion = Optional.empty();
@@ -379,7 +390,7 @@ public class NodeSpec {
wantedRebootGeneration(node.wantedRebootGeneration);
currentRebootGeneration(node.currentRebootGeneration);
reports(new NodeReports(node.reports));
-
+ node.cpuCores.ifPresent(this::cpuCores);
node.wantedDockerImage.ifPresent(this::wantedDockerImage);
node.currentDockerImage.ifPresent(this::currentDockerImage);
node.wantedVespaVersion.ifPresent(this::wantedVespaVersion);
@@ -427,6 +438,11 @@ public class NodeSpec {
return this;
}
+ public Builder cpuCores(double cpuCores) {
+ this.cpuCores = Optional.of(cpuCores);
+ return this;
+ }
+
public Builder wantedVespaVersion(Version wantedVespaVersion) {
this.wantedVespaVersion = Optional.of(wantedVespaVersion);
return this;
@@ -656,7 +672,7 @@ public class NodeSpec {
}
public NodeSpec build() {
- return new NodeSpec(hostname, wantedDockerImage, currentDockerImage, state, type, flavor,
+ return new NodeSpec(hostname, wantedDockerImage, currentDockerImage, state, type, flavor, cpuCores,
wantedVespaVersion, currentVespaVersion, wantedOsVersion, currentOsVersion, allowedToBeDown, wantToDeprovision,
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 7ea39aaa709..38459979e7c 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
@@ -157,6 +157,7 @@ public class RealNodeRepository implements NodeRepository {
nodeState,
nodeType,
node.flavor,
+ Optional.ofNullable(node.cpuCores),
Optional.ofNullable(node.wantedVespaVersion).map(Version::fromString),
Optional.ofNullable(node.vespaVersion).map(Version::fromString),
Optional.ofNullable(node.wantedOsVersion).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 1cf2c4decf5..3fdb8b420ce 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
@@ -28,6 +28,8 @@ public class NodeRepositoryNode {
public String openStackId;
@JsonProperty("flavor")
public String flavor;
+ @JsonProperty("cpuCores")
+ public Double cpuCores;
@JsonProperty("resources")
public NodeResources resources;
@JsonProperty("membership")
@@ -88,6 +90,7 @@ public class NodeRepositoryNode {
", openStackId='" + openStackId + '\'' +
", modelName='" + modelName + '\'' +
", flavor='" + flavor + '\'' +
+ ", cpuCores=" + cpuCores +
", resources=" + resources +
", membership=" + membership +
", owner=" + owner +