Merge pull request #41016 from markuskowa/slurm-pr
nixos/slurm: fix default module parameters, update documenation
This commit is contained in:
commit
8d4716ac90
|
@ -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;
|
||||
|
|
|
@ -383,6 +383,7 @@ in rec {
|
|||
tests.sddm = callSubTests tests/sddm.nix {};
|
||||
tests.simple = callTest tests/simple.nix {};
|
||||
tests.slim = callTest tests/slim.nix {};
|
||||
tests.slurm = callTest tests/slurm.nix {};
|
||||
tests.smokeping = callTest tests/smokeping.nix {};
|
||||
tests.snapper = callTest tests/snapper.nix {};
|
||||
tests.statsd = callTest tests/statsd.nix {};
|
||||
|
|
|
@ -20,7 +20,6 @@ in {
|
|||
# TODO slrumd port and slurmctld port should be configurations and
|
||||
# automatically allowed by the firewall.
|
||||
networking.firewall.enable = false;
|
||||
services.munge.enable = true;
|
||||
services.slurm = slurmconfig;
|
||||
};
|
||||
in {
|
||||
|
@ -28,7 +27,6 @@ in {
|
|||
{ config, pkgs, ...}:
|
||||
{
|
||||
networking.firewall.enable = false;
|
||||
services.munge.enable = true;
|
||||
services.slurm = {
|
||||
server.enable = true;
|
||||
} // slurmconfig;
|
||||
|
|
Loading…
Reference in New Issue