System-wide Configuration
The slurm.conf file can be generated in the following link https://slurm.schedmd.com/configurator.html.
Read carefully each of the options, in particular, pick linear for the resource selection.
- name: Ensure the folder /etc/slurm folder exists
ansible.builtin.file:
path: /etc/slurm
state: directory
owner: slurm
group: slurm
mode: "0755"
- name: Copy slurm config files
ansible.builtin.copy:
src: "{{ item }}"
dest: /etc/slurm/{{ item }}
owner: root
group: root
mode: u=rw,g=r,o=r
force: true
with_items:
- slurm.conf
- cgroup.conf
The most relevant options are:
ClusterName="MASTERX"
SlurmctldHost=master
AuthType=auth/munge
MpiDefault=none
ProctrackType=proctrack/cgroup
TaskPlugin=task/cgroup
JobAcctGatherType=jobacct_gather/cgroup
ReturnToService=0
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
SchedulerType=sched/backfill
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurmd.log
NodeName=c0[1-2] RealMemory=2700 CPUs=1 Sockets=1 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN
PartitionName=normal Nodes=ALL Default=YES MaxTime=INFINITE State=UP
And the cgroup.conf file is:
###
# Slurm cgroup support configuration file.
###
CgroupPlugin=cgroup/v2
ConstrainCores=no
ConstrainDevices=no
ConstrainRAMSpace=no
ConstrainSwapSpace=no