aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-04-12 08:58:44 +0200
committerGitHub <noreply@github.com>2021-04-12 08:58:44 +0200
commit015ade7cd232f217dd964da037ab202731b37cef (patch)
treeae4a572fd390d702635f6e46e1128cc63c436ef5
parente92c40caa99348919c25d7ae9938401e538bb827 (diff)
parent6ce205b35a423c82706fdc9b4e8b6cd6155456c7 (diff)
Merge pull request #17348 from vespa-engine/revert-17345-mpolden/revert-client-change
Add wantToRebuild field to client type
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java17
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java29
3 files changed, 40 insertions, 8 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
index 0b3ef3ebe86..d1078b5e30c 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
@@ -56,6 +56,7 @@ public class Node {
private final boolean retired;
private final boolean wantToRetire;
private final boolean wantToDeprovision;
+ private final boolean wantToRebuild;
private final Optional<TenantName> reservedTo;
private final Optional<ApplicationId> exclusiveTo;
private final Map<String, JsonNode> reports;
@@ -69,7 +70,7 @@ public class Node {
Optional<Instant> currentFirmwareCheck, Optional<Instant> wantedFirmwareCheck, ServiceState serviceState,
Optional<Instant> suspendedSince, long restartGeneration, long wantedRestartGeneration, long rebootGeneration, long wantedRebootGeneration,
int cost, String flavor, String clusterId, ClusterType clusterType, boolean retired, boolean wantToRetire, boolean wantToDeprovision,
- Optional<TenantName> reservedTo, Optional<ApplicationId> exclusiveTo,
+ boolean wantToRebuild, Optional<TenantName> reservedTo, Optional<ApplicationId> exclusiveTo,
DockerImage wantedDockerImage, DockerImage currentDockerImage, Map<String, JsonNode> reports, List<NodeHistory> history,
Set<String> additionalIpAddresses, String openStackId, Optional<String> switchHostname) {
this.hostname = hostname;
@@ -101,6 +102,7 @@ public class Node {
this.exclusiveTo = exclusiveTo;
this.wantedDockerImage = wantedDockerImage;
this.currentDockerImage = currentDockerImage;
+ this.wantToRebuild = wantToRebuild;
this.reports = reports;
this.history = history;
this.openStackId = openStackId;
@@ -214,6 +216,10 @@ public class Node {
return wantToDeprovision;
}
+ public boolean wantToRebuild() {
+ return wantToRebuild;
+ }
+
public Optional<TenantName> reservedTo() { return reservedTo; }
public Optional<ApplicationId> exclusiveTo() { return exclusiveTo; }
@@ -312,6 +318,7 @@ public class Node {
private boolean retired;
private boolean wantToRetire;
private boolean wantToDeprovision;
+ private boolean wantToRebuild;
private Optional<TenantName> reservedTo = Optional.empty();
private Optional<ApplicationId> exclusiveTo = Optional.empty();
private Map<String, JsonNode> reports = new HashMap<>();
@@ -350,6 +357,7 @@ public class Node {
this.retired = node.retired;
this.wantToRetire = node.wantToRetire;
this.wantToDeprovision = node.wantToDeprovision;
+ this.wantToRebuild = node.wantToRebuild;
this.reservedTo = node.reservedTo;
this.exclusiveTo = node.exclusiveTo;
this.reports = node.reports;
@@ -494,6 +502,11 @@ public class Node {
return this;
}
+ public Builder wantToRebuild(boolean wantToRebuild) {
+ this.wantToRebuild = wantToRebuild;
+ return this;
+ }
+
public Builder reservedTo(TenantName tenant) {
this.reservedTo = Optional.of(tenant);
return this;
@@ -528,7 +541,7 @@ public class Node {
return new Node(hostname, parentHostname, state, type, resources, owner, currentVersion, wantedVersion,
currentOsVersion, wantedOsVersion, currentFirmwareCheck, wantedFirmwareCheck, serviceState,
suspendedSince, restartGeneration, wantedRestartGeneration, rebootGeneration, wantedRebootGeneration,
- cost, flavor, clusterId, clusterType, retired, wantToRetire, wantToDeprovision, reservedTo, exclusiveTo,
+ cost, flavor, clusterId, clusterType, retired, wantToRetire, wantToDeprovision, wantToRebuild, reservedTo, exclusiveTo,
wantedDockerImage, currentDockerImage, reports, history, additionalIpAddresses, openStackId, switchHostname);
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
index 7d454b2134f..72592e16bfd 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
@@ -148,7 +148,7 @@ public interface NodeRepository {
Optional.ofNullable(node.getMembership()).map(NodeMembership::getRetired).orElse(false),
node.getWantToRetire(),
node.getWantToDeprovision(),
- Optional.ofNullable(node.getReservedTo()).map(TenantName::from),
+ node.getWantToRebuild(), Optional.ofNullable(node.getReservedTo()).map(TenantName::from),
Optional.ofNullable(node.getExclusiveTo()).map(ApplicationId::fromSerializedForm),
dockerImageFrom(node.getWantedDockerImage()),
dockerImageFrom(node.getCurrentDockerImage()),
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java
index 8b027cb229a..80d710eda2b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java
@@ -12,6 +12,11 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+/**
+ * The wire format of a node retrieved from the node repository.
+ *
+ * @author bjorncs
+ */
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class NodeRepositoryNode {
@@ -78,6 +83,8 @@ public class NodeRepositoryNode {
private Boolean wantToRetire;
@JsonProperty("wantToDeprovision")
private Boolean wantToDeprovision;
+ @JsonProperty("wantToRebuild")
+ private Boolean wantToRebuild;
@JsonProperty("cost")
private Integer cost;
@JsonProperty("history")
@@ -303,6 +310,10 @@ public class NodeRepositoryNode {
public Boolean getWantToDeprovision() { return wantToDeprovision; }
+ public Boolean getWantToRebuild() {
+ return wantToRebuild;
+ }
+
public void setWantToRetire(Boolean wantToRetire) {
this.wantToRetire = wantToRetire;
}
@@ -311,6 +322,10 @@ public class NodeRepositoryNode {
this.wantToDeprovision = wantToDeprovision;
}
+ public void setWantToRebuild(Boolean wantToRebuild) {
+ this.wantToRebuild = wantToRebuild;
+ }
+
public Integer getCost() {
return cost;
}
@@ -442,6 +457,8 @@ public class NodeRepositoryNode {
", wantedVespaVersion='" + wantedVespaVersion + '\'' +
", currentOsVersion='" + currentOsVersion + '\'' +
", wantedOsVersion='" + wantedOsVersion + '\'' +
+ ", currentFirmwareCheck=" + currentFirmwareCheck +
+ ", wantedFirmwareCheck=" + wantedFirmwareCheck +
", failCount=" + failCount +
", environment=" + environment +
", type=" + type +
@@ -450,14 +467,16 @@ public class NodeRepositoryNode {
", parentHostname='" + parentHostname + '\'' +
", wantToRetire=" + wantToRetire +
", wantToDeprovision=" + wantToDeprovision +
+ ", wantToRebuild=" + wantToRebuild +
", cost=" + cost +
", history=" + history +
- ", orchestratorStatus=" + orchestratorStatus +
+ ", orchestratorStatus='" + orchestratorStatus + '\'' +
+ ", suspendedSinceMillis=" + suspendedSinceMillis +
", reports=" + reports +
- ", modelName=" + modelName +
- ", reservedTo=" + reservedTo +
- ", exclusiveTo=" + exclusiveTo +
- ", switchHostname=" + switchHostname +
+ ", modelName='" + modelName + '\'' +
+ ", reservedTo='" + reservedTo + '\'' +
+ ", exclusiveTo='" + exclusiveTo + '\'' +
+ ", switchHostname='" + switchHostname + '\'' +
'}';
}