summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2017-09-25 12:41:27 +0200
committerValerij Fredriksen <valerijf@oath.com>2017-09-25 12:41:27 +0200
commit77dacd5d9c88c7d1b1e2143df84205bbf04bdfd5 (patch)
tree6042b4b048d91b4fa2ce356f7a9d9a3513c09a51 /node-admin
parent62ef15bbe0430e989b61048a3ab69a5bf281c0af (diff)
Start NodeAdmin schedulers in start()
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java5
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java29
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java1
3 files changed, 23 insertions, 12 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
index cf70963eee1..6bc3b6d2a46 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java
@@ -60,6 +60,11 @@ public interface NodeAdmin {
Map<String, Object> debugInfo();
/**
+ * Start node-admin schedulers.
+ */
+ void start();
+
+ /**
* Stop the NodeAgent. Will not delete the storage or stop the container.
*/
void stop();
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
index f227a166034..ddb04f1249d 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java
@@ -47,6 +47,7 @@ public class NodeAdminImpl implements NodeAdmin {
private final DockerOperations dockerOperations;
private final Function<String, NodeAgent> nodeAgentFactory;
private final StorageMaintainer storageMaintainer;
+ private final AclMaintainer aclMaintainer;
private final Clock clock;
private boolean previousWantFrozen;
@@ -67,6 +68,7 @@ public class NodeAdminImpl implements NodeAdmin {
this.dockerOperations = dockerOperations;
this.nodeAgentFactory = nodeAgentFactory;
this.storageMaintainer = storageMaintainer;
+ this.aclMaintainer = aclMaintainer;
this.clock = clock;
this.previousWantFrozen = true;
@@ -76,18 +78,6 @@ public class NodeAdminImpl implements NodeAdmin {
Dimensions dimensions = new Dimensions.Builder().add("role", "docker").build();
this.numberOfContainersInLoadImageState = metricReceiver.declareGauge(MetricReceiverWrapper.APPLICATION_DOCKER, dimensions, "nodes.image.loading");
this.numberOfUnhandledExceptionsInNodeAgent = metricReceiver.declareCounter(MetricReceiverWrapper.APPLICATION_DOCKER, dimensions, "nodes.unhandled_exceptions");
-
- metricsScheduler.scheduleAtFixedRate(() -> {
- try {
- nodeAgents.values().forEach(NodeAgent::updateContainerNodeMetrics);
- } catch (Throwable e) {
- logger.warning("Metric fetcher scheduler failed", e);
- }
- }, 0, 55, TimeUnit.SECONDS);
-
- aclScheduler.scheduleWithFixedDelay(() -> {
- if (!isFrozen()) aclMaintainer.run();
- }, 30, 60, TimeUnit.SECONDS);
}
@Override
@@ -179,6 +169,21 @@ public class NodeAdminImpl implements NodeAdmin {
}
@Override
+ public void start() {
+ metricsScheduler.scheduleAtFixedRate(() -> {
+ try {
+ nodeAgents.values().forEach(NodeAgent::updateContainerNodeMetrics);
+ } catch (Throwable e) {
+ logger.warning("Metric fetcher scheduler failed", e);
+ }
+ }, 0, 55, TimeUnit.SECONDS);
+
+ aclScheduler.scheduleWithFixedDelay(() -> {
+ if (!isFrozen()) aclMaintainer.run();
+ }, 30, 60, TimeUnit.SECONDS);
+ }
+
+ @Override
public void stop() {
metricsScheduler.shutdown();
aclScheduler.shutdown();
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
index d1f23b13e6c..cdde0b7219f 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java
@@ -267,6 +267,7 @@ public class NodeAdminStateUpdater {
loopThread.setName("tick-NodeAdminStateUpdater");
loopThread.start();
+ nodeAdmin.start();
specVerifierScheduler.scheduleWithFixedDelay(() ->
updateHardwareDivergence(storageMaintainer), 5, 60, TimeUnit.MINUTES);
}