about summary refs log tree commit diff
path: root/nixos/modules/services/computing/slurm/slurm.nix
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2018-05-26 00:20:17 +0000
committerJan Malakhovski <oxij@oxij.org>2018-05-26 00:20:17 +0000
commitad35019501e6b263e08ecb4c66f1ee6e3eee80f1 (patch)
tree492149cd4a5da50945a5bc7d5fa62de432590dea /nixos/modules/services/computing/slurm/slurm.nix
parent98f2f08b4b9b204912c1c097a08cd26151fae0bb (diff)
parent97e376bf9cafa2d6c812221677f2e38163d0acb8 (diff)
downloadnixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.gz
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.bz2
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.lz
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.xz
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.zst
nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.zip
Merge branch 'master' into staging
Fixed conflicts:
- lib/systems/for-meta.nix: in favor of staging
- pkgs/os-specific/darwin/xcode/default.nix: in favor of master
Diffstat (limited to 'nixos/modules/services/computing/slurm/slurm.nix')
-rw-r--r--nixos/modules/services/computing/slurm/slurm.nix27
1 files changed, 24 insertions, 3 deletions
diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix
index 45d34f5b76f5..3e513ab15717 100644
--- a/nixos/modules/services/computing/slurm/slurm.nix
+++ b/nixos/modules/services/computing/slurm/slurm.nix
@@ -13,6 +13,7 @@ let
       ${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
       ${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
       PlugStackConfig=${plugStackConfig}
+      ProctrackType=${cfg.procTrackType}
       ${cfg.extraConfig}
     '';
 
@@ -31,12 +32,20 @@ in
     services.slurm = {
 
       server = {
-        enable = mkEnableOption "slurm control daemon";
-
+        enable = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Wether to enable the slurm control daemon.
+            Note that the standard authentication method is "munge".
+            The "munge" service needs to be provided with a password file in order for
+            slurm to work properly (see <literal>services.munge.password</literal>).
+          '';
+        };
       };
 
       client = {
-        enable = mkEnableOption "slurm rlient daemon";
+        enable = mkEnableOption "slurm client daemon";
 
       };
 
@@ -103,6 +112,16 @@ in
         '';
       };
 
+      procTrackType = mkOption {
+        type = types.string;
+        default = "proctrack/linuxproc";
+        description = ''
+          Plugin to be used for process tracking on a job step basis.
+          The slurmd daemon uses this mechanism to identify all processes
+          which are children of processes it spawns for a user job step.
+        '';
+      };
+
       extraConfig = mkOption {
         default = "";
         type = types.lines;
@@ -150,6 +169,8 @@ in
 
     environment.systemPackages = [ wrappedSlurm ];
 
+    services.munge.enable = mkDefault true;
+
     systemd.services.slurmd = mkIf (cfg.client.enable) {
       path = with pkgs; [ wrappedSlurm coreutils ]
         ++ lib.optional cfg.enableSrunX11 slurm-spank-x11;