nixos/slurm: node/partitionName option -> list
Make the node and partitionname options lists. There can be more than paratition or set of nodes. Add changes to release notes
This commit is contained in:
parent
f51f753416
commit
d2799d1835
@ -165,6 +165,12 @@
|
|||||||
If you want to keep slurmctld running as <literal>root</literal>, set
|
If you want to keep slurmctld running as <literal>root</literal>, set
|
||||||
<literal>services.slurm.user = root</literal>.
|
<literal>services.slurm.user = root</literal>.
|
||||||
</para>
|
</para>
|
||||||
|
<para>
|
||||||
|
The options <literal>services.slurm.nodeName</literal> and
|
||||||
|
<literal>services.slurm.partitionName</literal> are now sets of
|
||||||
|
strings to correctly reflect that fact that each of these
|
||||||
|
options can occour more than once in the configuration.
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
@ -16,8 +16,8 @@ let
|
|||||||
SlurmUser=${cfg.user}
|
SlurmUser=${cfg.user}
|
||||||
${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
|
${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''}
|
||||||
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
|
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
|
||||||
${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
|
${toString (map (x: "NodeName=${x}\n") cfg.nodeName)}
|
||||||
${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
|
${toString (map (x: "PartitionName=${x}\n") cfg.partitionName)}
|
||||||
PlugStackConfig=${plugStackConfig}
|
PlugStackConfig=${plugStackConfig}
|
||||||
ProctrackType=${cfg.procTrackType}
|
ProctrackType=${cfg.procTrackType}
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
@ -149,9 +149,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
nodeName = mkOption {
|
nodeName = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.listOf types.str;
|
||||||
default = null;
|
default = [];
|
||||||
example = "linux[1-32] CPUs=1 State=UNKNOWN";
|
example = literalExample ''[ "linux[1-32] CPUs=1 State=UNKNOWN" ];'';
|
||||||
description = ''
|
description = ''
|
||||||
Name that SLURM uses to refer to a node (or base partition for BlueGene
|
Name that SLURM uses to refer to a node (or base partition for BlueGene
|
||||||
systems). Typically this would be the string that "/bin/hostname -s"
|
systems). Typically this would be the string that "/bin/hostname -s"
|
||||||
@ -160,9 +160,9 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
partitionName = mkOption {
|
partitionName = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.listOf types.str;
|
||||||
default = null;
|
default = [];
|
||||||
example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP";
|
example = literalExample ''[ "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP" ];'';
|
||||||
description = ''
|
description = ''
|
||||||
Name by which the partition may be referenced. Note that now you have
|
Name by which the partition may be referenced. Note that now you have
|
||||||
to write the partition's parameters after the name.
|
to write the partition's parameters after the name.
|
||||||
|
@ -4,11 +4,8 @@ let
|
|||||||
|
|
||||||
slurmconfig = {
|
slurmconfig = {
|
||||||
controlMachine = "control";
|
controlMachine = "control";
|
||||||
nodeName = ''
|
nodeName = [ "node[1-3] CPUs=1 State=UNKNOWN" ];
|
||||||
control
|
partitionName = [ "debug Nodes=node[1-3] Default=YES MaxTime=INFINITE State=UP" ];
|
||||||
NodeName=node[1-3] CPUs=1 State=UNKNOWN
|
|
||||||
'';
|
|
||||||
partitionName = "debug Nodes=node[1-3] Default=YES MaxTime=INFINITE State=UP";
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
AccountingStorageHost=dbd
|
AccountingStorageHost=dbd
|
||||||
AccountingStorageType=accounting_storage/slurmdbd
|
AccountingStorageType=accounting_storage/slurmdbd
|
||||||
|
Loading…
Reference in New Issue
Block a user