summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2023-03-08 16:23:29 +0100
committergjoranv <gv@verizonmedia.com>2023-03-08 16:26:03 +0100
commitfef0ff505f88e35b49a873be559d27bec876be3e (patch)
treed29e2623a595486ff0dfbc531e8160efbcda8dff /node-admin
parent5f5ac4ca072b715392f91d301231eed4c27d9ffd (diff)
Add workaround to restart wg process early after host-admin restart.
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
index e363e85b898..7143874114d 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java
@@ -483,6 +483,13 @@ public class NodeAgentImpl implements NodeAgent {
storageMaintainer.cleanDiskIfFull(context);
storageMaintainer.handleCoreDumpsForContainer(context, container, false);
+ // TODO: this is a workaround for restarting wireguard as early as possible after host-admin has been down.
+ var wireguardTasksRun = false;
+ if (container.isPresent() && container.get().state().isRunning()) {
+ wireguardTasks.forEach(task -> task.converge(context));
+ wireguardTasksRun = true;
+ }
+
if (downloadImageIfNeeded(context, container)) {
context.log(logger, "Waiting for image to download " + context.node().wantedDockerImage().get().asString());
return;
@@ -498,7 +505,7 @@ public class NodeAgentImpl implements NodeAgent {
}
aclMaintainer.ifPresent(maintainer -> maintainer.converge(context));
- wireguardTasks.forEach(task -> task.converge(context));
+ if (! wireguardTasksRun) wireguardTasks.forEach(task -> task.converge(context));
startServicesIfNeeded(context);
resumeNodeIfNeeded(context);
if (healthChecker.isPresent()) {