summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-08-08 14:37:16 +0200
committerValerij Fredriksen <valerijf@oath.com>2018-08-08 14:37:16 +0200
commitaed644b394a045b462ff94e4d4881e8e6e94c459 (patch)
tree00359c3905e047ca387a88a399dbb4e09cc8c901 /node-admin
parent5f781434e0e744fb97d0d54c8dfc25efe0cbcc8a (diff)
Make it possible to set Header Supplier to core dump reportert
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java13
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java2
2 files changed, 10 insertions, 5 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
index 7cfc6a78944..e063425e4ae 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
@@ -3,7 +3,8 @@ package com.yahoo.vespa.hosted.node.admin.maintenance.coredump;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.system.ProcessExecuter;
-import com.yahoo.vespa.hosted.node.admin.maintenance.FileHelper;
+import com.yahoo.vespa.hosted.node.maintainer.FileHelper;
+import org.apache.http.Header;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
@@ -25,6 +26,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
+import java.util.function.Supplier;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -46,18 +48,20 @@ public class CoredumpHandler {
private final CoreCollector coreCollector;
private final Path doneCoredumpsPath;
private final URI feedEndpoint;
+ private final Optional<Supplier<Header>> requestHeaderSupplier;
CoredumpHandler(HttpClient httpClient, CoreCollector coreCollector, Path doneCoredumpsPath,
- URI feedEndpoint) {
+ URI feedEndpoint, Optional<Supplier<Header>> requestHeaderSupplier) {
this.httpClient = httpClient;
this.coreCollector = coreCollector;
this.doneCoredumpsPath = doneCoredumpsPath;
this.feedEndpoint = feedEndpoint;
+ this.requestHeaderSupplier = requestHeaderSupplier;
}
- public CoredumpHandler(Path doneCoredumpsPath, URI feedEndpoint) {
+ public CoredumpHandler(Path doneCoredumpsPath, URI feedEndpoint, Optional<Supplier<Header>> requestHeaderSupplier) {
this(createHttpClient(Duration.ofSeconds(5)), new CoreCollector(new ProcessExecuter()),
- doneCoredumpsPath, feedEndpoint);
+ doneCoredumpsPath, feedEndpoint, requestHeaderSupplier);
}
public void processAll(Path coredumpsPath, Map<String, Object> nodeAttributes) throws IOException {
@@ -157,6 +161,7 @@ public class CoredumpHandler {
HttpPost post = new HttpPost(feedEndpoint + "/" + documentId);
post.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
post.setEntity(new StringEntity(metadata));
+ requestHeaderSupplier.map(Supplier::get).ifPresent(post::addHeader);
HttpResponse response = httpClient.execute(post);
if (response.getStatusLine().getStatusCode() / 100 != 2) {
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
index b3cbdf56219..54787108e64 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java
@@ -80,7 +80,7 @@ public class CoredumpHandlerTest {
crashPath = folder.newFolder("crash").toPath();
donePath = folder.newFolder("done").toPath();
- coredumpHandler = new CoredumpHandler(httpClient, coreCollector, donePath, feedEndpoint);
+ coredumpHandler = new CoredumpHandler(httpClient, coreCollector, donePath, feedEndpoint, Optional.empty());
}
@Test