summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-09-08 12:46:13 +0200
committerGitHub <noreply@github.com>2019-09-08 12:46:13 +0200
commita9cf3c2e33969a66980d1a8cbbacbffeef92ccef (patch)
treede28a8c474c85a592724bb11b6abe0b62de67a98 /node-admin
parent70d6e8e6421dbd751d3591c731e8227ee5e5ef3b (diff)
parentdd9039cd5a5a38eaf5c87b5a753e456010aef198 (diff)
Merge pull request #10539 from vespa-engine/freva/set-group
Set coredump group owner
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java12
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandlerTest.java2
2 files changed, 9 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 95964ec8e7f..80a280b6a8f 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
@@ -46,24 +46,28 @@ public class CoredumpHandler {
private final CoredumpReporter coredumpReporter;
private final Path crashPatchInContainer;
private final Path doneCoredumpsPath;
+ private final String operatorGroupName;
private final Supplier<String> coredumpIdSupplier;
/**
* @param crashPathInContainer path inside the container where core dump are dumped
* @param doneCoredumpsPath path on host where processed core dumps are stored
+ * @param operatorGroupName name of the group that will be set as the owner of the processed coredump
*/
public CoredumpHandler(Terminal terminal, CoreCollector coreCollector, CoredumpReporter coredumpReporter,
- Path crashPathInContainer, Path doneCoredumpsPath) {
- this(terminal, coreCollector, coredumpReporter, crashPathInContainer, doneCoredumpsPath, () -> UUID.randomUUID().toString());
+ Path crashPathInContainer, Path doneCoredumpsPath, String operatorGroupName) {
+ this(terminal, coreCollector, coredumpReporter, crashPathInContainer, doneCoredumpsPath,
+ operatorGroupName, () -> UUID.randomUUID().toString());
}
CoredumpHandler(Terminal terminal, CoreCollector coreCollector, CoredumpReporter coredumpReporter,
- Path crashPathInContainer, Path doneCoredumpsPath, Supplier<String> coredumpIdSupplier) {
+ Path crashPathInContainer, Path doneCoredumpsPath, String operatorGroupName, Supplier<String> coredumpIdSupplier) {
this.terminal = terminal;
this.coreCollector = coreCollector;
this.coredumpReporter = coredumpReporter;
this.crashPatchInContainer = crashPathInContainer;
this.doneCoredumpsPath = doneCoredumpsPath;
+ this.operatorGroupName = operatorGroupName;
this.coredumpIdSupplier = coredumpIdSupplier;
}
@@ -157,7 +161,7 @@ public class CoredumpHandler {
.add(LZ4_PATH, "-f", coreFile.toString(), compressedCoreFile.toString())
.setTimeout(Duration.ofMinutes(30))
.execute();
- new UnixPath(compressedCoreFile).setPermissions("rw-r-----");
+ new UnixPath(compressedCoreFile).setGroup(operatorGroupName).setPermissions("rw-r-----");
Files.delete(coreFile);
Path newCoredumpDirectory = doneCoredumpsPath.resolve(coredumpDirectory.getFileName());
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 6d3a4dbb553..1d6ccff4212 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
@@ -55,7 +55,7 @@ public class CoredumpHandlerTest {
@SuppressWarnings("unchecked")
private final Supplier<String> coredumpIdSupplier = mock(Supplier.class);
private final CoredumpHandler coredumpHandler = new CoredumpHandler(terminal, coreCollector, coredumpReporter,
- crashPathInContainer, doneCoredumpsPath, coredumpIdSupplier);
+ crashPathInContainer, doneCoredumpsPath, "users", coredumpIdSupplier);
@Test