aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHÃ¥kon Hallingstad <hakon.hallingstad@gmail.com>2022-12-06 22:10:57 +0100
committerGitHub <noreply@github.com>2022-12-06 22:10:57 +0100
commitcff606e33f0559d7c6ebac0011e65accd537930d (patch)
treeb6cdb4f06639a48ad2ef1d90e5e07977c6d54034
parent6961231415aa1e9c7a57e47567c24f1e0bdb3599 (diff)
parent178e42a8fd77f46ee8eb0c198c11c19d67e429a4 (diff)
Merge pull request #25134 from vespa-engine/hakonhall/reboot-in-real-node-repo
Reboot in real node repo
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeRepository.java4
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java8
2 files changed, 12 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeRepository.java
index c45d53ae97b..c4c9dd3f591 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeRepository.java
@@ -25,4 +25,8 @@ public interface NodeRepository {
void updateNodeAttributes(String hostName, NodeAttributes nodeAttributes);
void setNodeState(String hostName, NodeState nodeState);
+
+ default void reboot(String hostname) {
+ throw new UnsupportedOperationException("Rebooting not supported in " + getClass().getName());
+ }
}
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 793bae9e2ab..36a4703a415 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
@@ -133,6 +133,14 @@ public class RealNodeRepository implements NodeRepository {
response.throwOnError("Failed to set node state");
}
+ @Override
+ public void reboot(String hostname) {
+ String uri = "/nodes/v2/command/reboot?hostname=" + hostname;
+ StandardConfigServerResponse response = configServerApi.post(uri, Optional.empty(), StandardConfigServerResponse.class);
+ logger.info(response.message);
+ response.throwOnError("Failed to reboot " + hostname);
+ }
+
private static NodeSpec createNodeSpec(NodeRepositoryNode node) {
Objects.requireNonNull(node.type, "Unknown node type");
NodeType nodeType = NodeType.valueOf(node.type);