diff options
author | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-09-06 11:42:49 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2019-09-06 13:33:29 +0200 |
commit | dd9039cd5a5a38eaf5c87b5a753e456010aef198 (patch) | |
tree | 6c42763b822e88d84a6ad92dc9c97d9b8760e6bb | |
parent | 51565a5d4fa530ba0313ed3d8e62d51cd39906c1 (diff) |
Set coredump group owner
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 |