diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2019-09-08 12:46:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-08 12:46:13 +0200 |
commit | a9cf3c2e33969a66980d1a8cbbacbffeef92ccef (patch) | |
tree | de28a8c474c85a592724bb11b6abe0b62de67a98 /node-admin | |
parent | 70d6e8e6421dbd751d3591c731e8227ee5e5ef3b (diff) | |
parent | dd9039cd5a5a38eaf5c87b5a753e456010aef198 (diff) |
Merge pull request #10539 from vespa-engine/freva/set-group
Set coredump group owner
Diffstat (limited to 'node-admin')
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 |