summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-07-01 13:52:37 +0200
committerGitHub <noreply@github.com>2020-07-01 13:52:37 +0200
commit7a6ed60fa87311e00d07d0499bad3cfc3d3a3dba (patch)
tree909d04c896f618be36914fb6706925039f0559a8
parentcd2020277c6bf9ba7c1812495bdd9ff403b66578 (diff)
parent775d18f680ec26cd3b177eb12479bdc387afe620 (diff)
Merge pull request #13763 from vespa-engine/bratseth/rename-isDockerHost
isDockerHost -> isHost
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java21
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersions.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringUpgrader.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/DockerImages.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java2
15 files changed, 34 insertions, 25 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
index 58ae8b95e97..fc267bbac29 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeType.java
@@ -45,10 +45,16 @@ public enum NodeType {
this.description = description;
}
+ // TODO: Remove when no version older than 7.247 is live
+ @Deprecated
public boolean isDockerHost() {
return !childNodeTypes.isEmpty();
}
+ public boolean isHost() {
+ return !childNodeTypes.isEmpty();
+ }
+
public String description() {
return description;
}
@@ -66,7 +72,7 @@ public enum NodeType {
* @throws IllegalStateException if this type is not a host
*/
public List<NodeType> childNodeTypes() {
- if (! isDockerHost())
+ if (! isHost())
throw new IllegalStateException(this + " has no children");
return childNodeTypes;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
index e1acf867744..7dd6126dabc 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/SystemApplication.java
@@ -70,7 +70,7 @@ public enum SystemApplication {
if (controller.zoneRegistry().zones().reprovisionToUpgradeOs().ids().contains(zone)) {
return nodeType == NodeType.host; // TODO(mpolden): Remove once all node types are supported
}
- return nodeType.isDockerHost();
+ return nodeType.isHost();
}
/** Returns whether this has an endpoint */
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 b6237886dc7..be4f551ca29 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
@@ -175,7 +175,7 @@ public final class Node {
* If both given wantToRetire and wantToDeprovision are equal to the current values, the method is no-op.
*/
public Node withWantToRetire(boolean wantToRetire, boolean wantToDeprovision, Agent agent, Instant at) {
- if (!type.isDockerHost() && wantToDeprovision)
+ if (!type.isHost() && wantToDeprovision)
throw new IllegalArgumentException("wantToDeprovision can only be set for hosts");
if (wantToRetire == status.wantToRetire() &&
wantToDeprovision == status.wantToDeprovision()) return this;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
index c4c062311e6..0dd3869e234 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java
@@ -518,7 +518,7 @@ public class NodeRepository extends AbstractComponent {
new IllegalArgumentException("Could not deallocate " + hostname + ": Node not found"));
List<Node> nodesToDirty =
- (nodeToDirty.type().isDockerHost() ?
+ (nodeToDirty.type().isHost() ?
Stream.concat(list().childrenOf(hostname).asList().stream(), Stream.of(nodeToDirty)) :
Stream.of(nodeToDirty))
.filter(node -> node.state() != State.dirty)
@@ -657,7 +657,7 @@ public class NodeRepository extends AbstractComponent {
try (Mutex lock = lockUnallocated()) {
requireRemovable(node, false, force);
- if (node.type().isDockerHost()) {
+ if (node.type().isHost()) {
List<Node> children = list().childrenOf(node).asList();
children.forEach(child -> requireRemovable(child, true, force));
db.removeNodes(children);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
index 7e02eedc572..d65b4ce4248 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirer.java
@@ -100,7 +100,7 @@ public class FailedExpirer extends NodeRepositoryMaintainer {
List<Node> nodesToRecycle = new ArrayList<>();
for (Node candidate : nodes) {
if (NodeFailer.hasHardwareIssue(candidate, nodeRepository)) {
- List<String> unparkedChildren = !candidate.type().isDockerHost() ? Collections.emptyList() :
+ List<String> unparkedChildren = !candidate.type().isHost() ? Collections.emptyList() :
nodeRepository.list().childrenOf(candidate).asList().stream()
.filter(node -> node.state() != Node.State.parked)
.map(Node::hostname)
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
index 1e978682fa9..9c1892a1920 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java
@@ -102,7 +102,7 @@ public class NodeFailer extends NodeRepositoryMaintainer {
for (Map.Entry<Node, String> entry : getReadyNodesByFailureReason().entrySet()) {
Node node = entry.getKey();
if (throttle(node)) {
- if (node.type().isDockerHost()) throttledHostFailures++;
+ if (node.type().isHost()) throttledHostFailures++;
else throttledNodeFailures++;
continue;
}
@@ -117,12 +117,14 @@ public class NodeFailer extends NodeRepositoryMaintainer {
// Fail active nodes
for (Map.Entry<Node, String> entry : getActiveNodesByFailureReason(activeNodes).entrySet()) {
Node node = entry.getKey();
- if (!failAllowedFor(node.type())) {
- continue;
- }
+ if (!failAllowedFor(node.type())) continue;
+
if (throttle(node)) {
- if (node.type().isDockerHost()) throttledHostFailures++;
- else throttledNodeFailures++;
+ if (node.type().isHost())
+ throttledHostFailures++;
+ else
+ throttledNodeFailures++;
+
continue;
}
String reason = entry.getValue();
@@ -212,9 +214,10 @@ public class NodeFailer extends NodeRepositoryMaintainer {
for (Node node : activeNodes) {
if (node.history().hasEventBefore(History.Event.Type.down, graceTimeEnd) && ! applicationSuspended(node)) {
nodesByFailureReason.put(node, "Node has been down longer than " + downTimeLimit);
- } else if (hostSuspended(node, activeNodes)) {
+ }
+ else if (hostSuspended(node, activeNodes)) {
Node hostNode = node.parentHostname().flatMap(parent -> nodeRepository().getNode(parent)).orElse(node);
- if (hostNode.type().isDockerHost()) {
+ if (hostNode.type().isHost()) {
List<String> failureReports = reasonsToFailParentHost(hostNode);
if (failureReports.size() > 0) {
if (hostNode.equals(node)) {
@@ -244,7 +247,7 @@ public class NodeFailer extends NodeRepositoryMaintainer {
}
private boolean expectConfigRequests(Node node) {
- return !node.type().isDockerHost();
+ return !node.type().isHost();
}
private boolean hasNodeRequestedConfigAfter(Node node, Instant instant) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
index a36ef8fda4d..11afbd785e8 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/OsUpgradeActivator.java
@@ -24,7 +24,7 @@ public class OsUpgradeActivator extends NodeRepositoryMaintainer {
@Override
protected void maintain() {
for (var nodeType : NodeType.values()) {
- if (!nodeType.isDockerHost()) continue;
+ if (!nodeType.isHost()) continue;
var active = canUpgradeOsOf(nodeType);
nodeRepository().osVersions().resumeUpgradeOf(nodeType, active);
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java
index 73869fb098d..a8566e24743 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java
@@ -85,7 +85,7 @@ public class RetiredExpirer extends NodeRepositoryMaintainer {
* - Orchestrator allows it
*/
private boolean canRemove(Node node) {
- if (node.type().isDockerHost()) {
+ if (node.type().isHost()) {
if (nodeRepository()
.list().childrenOf(node).asList().stream()
.allMatch(child -> child.state() == Node.State.parked ||
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java
index 3210de18b7d..836583022ca 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/IP.java
@@ -133,7 +133,7 @@ public class IP {
var addresses = new HashSet<>(node.ipConfig().primary());
var otherAddresses = new HashSet<>(other.ipConfig().primary());
- if (node.type().isDockerHost()) { // Addresses of a host can never overlap with any other nodes
+ if (node.type().isHost()) { // Addresses of a host can never overlap with any other nodes
addresses.addAll(node.ipConfig().pool().asSet());
otherAddresses.addAll(other.ipConfig().pool().asSet());
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersions.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersions.java
index 54586105720..8e38aabf7ce 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersions.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/OsVersions.java
@@ -126,7 +126,7 @@ public class OsVersions {
}
private static void require(NodeType nodeType) {
- if (!nodeType.isDockerHost()) {
+ if (!nodeType.isHost()) {
throw new IllegalArgumentException("Node type '" + nodeType + "' does not support OS upgrades");
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringUpgrader.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringUpgrader.java
index b2b83b6d064..aebf14ab13f 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringUpgrader.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/os/RetiringUpgrader.java
@@ -60,7 +60,7 @@ public class RetiringUpgrader implements Upgrader {
/** Retire and deprovision given host and its children */
private void retire(Node host, Version target, Instant now) {
- if (!host.type().isDockerHost()) throw new IllegalArgumentException("Cannot retire non-host " + host);
+ if (!host.type().isHost()) throw new IllegalArgumentException("Cannot retire non-host " + host);
try (var lock = nodeRepository.lock(host)) {
Optional<Node> currentNode = nodeRepository.getNode(host.hostname());
if (currentNode.isEmpty()) return;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
index 367271564ea..a8086400e26 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java
@@ -257,7 +257,7 @@ public class CuratorDatabaseClient implements JobControl.Db {
/** Returns whether to reboot node as part of transition to given state. This is done to get rid of any lingering
* unwanted state (e.g. processes) on non-host nodes. */
private boolean rebootOnTransitionTo(Node.State state, Node node) {
- if (node.type().isDockerHost()) return false; // Reboot of host nodes is handled by NodeRebooter
+ if (node.type().isHost()) return false; // Reboot of host nodes is handled by NodeRebooter
if (zone.environment().isTest()) return false; // We want to reuse nodes quickly in test environments
return node.state() != Node.State.dirty && state == Node.State.dirty;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/DockerImages.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/DockerImages.java
index 9edcfd6c697..3f55307d1f3 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/DockerImages.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/DockerImages.java
@@ -60,13 +60,13 @@ public class DockerImages {
/** Returns the current docker image for given node type, or the type for corresponding child nodes
* if it is a Docker host, or default */
public DockerImage dockerImageFor(NodeType type) {
- NodeType typeToUseForLookup = type.isDockerHost() ? type.childNodeType() : type;
+ NodeType typeToUseForLookup = type.isHost() ? type.childNodeType() : type;
return getDockerImages().getOrDefault(typeToUseForLookup, defaultImage);
}
/** Set the docker image for nodes of given type */
public void setDockerImage(NodeType nodeType, Optional<DockerImage> dockerImage) {
- if (nodeType.isDockerHost()) {
+ if (nodeType.isHost()) {
throw new IllegalArgumentException("Setting docker image for " + nodeType + " nodes is unsupported");
}
try (Lock lock = db.lockDockerImages()) {
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 897af634d49..57f9b217d73 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
@@ -96,7 +96,7 @@ public class NodePatcher {
private List<Node> applyFieldRecursive(String name, Inspector value, Inspector root) {
switch (name) {
case WANT_TO_RETIRE:
- List<Node> childNodes = node.type().isDockerHost() ? nodes.get().childrenOf(node).asList() : List.of();
+ List<Node> childNodes = node.type().isHost() ? nodes.get().childrenOf(node).asList() : List.of();
return childNodes.stream()
.map(child -> applyField(child, name, value, root))
.collect(Collectors.toList());
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java
index ce9a461e17f..58e838018c6 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java
@@ -172,7 +172,7 @@ class NodesResponse extends HttpResponse {
node.status().osVersion().current().ifPresent(version -> object.setString("currentOsVersion", version.toFullString()));
node.status().osVersion().wanted().ifPresent(version -> object.setString("wantedOsVersion", version.toFullString()));
node.status().firmwareVerifiedAt().ifPresent(instant -> object.setLong("currentFirmwareCheck", instant.toEpochMilli()));
- if (node.type().isDockerHost())
+ if (node.type().isHost())
nodeRepository.firmwareChecks().requiredAfter().ifPresent(after -> object.setLong("wantedFirmwareCheck", after.toEpochMilli()));
node.status().vespaVersion().ifPresent(version -> object.setString("vespaVersion", version.toFullString()));
currentDockerImage(node).ifPresent(dockerImage -> object.setString("currentDockerImage", dockerImage.asString()));