Merge pull request #41016 from markuskowa/slurm-pr

nixos/slurm: fix default module parameters, update documenation
This commit is contained in:
xeji 2018-05-24 17:23:03 +02:00 committed by GitHub
commit 8d4716ac90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 5 deletions

View File

@ -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;

View File

@ -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 {};

View File

@ -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;