Slurm Configuration
sind generates a multi-file Slurm configuration and writes it to the sind-<cluster>-config volume:
/etc/slurm/
├── slurm.conf # main config, includes sind-nodes.conf
├── sind-nodes.conf # sind-managed node definitions
└── cgroup.conf # cgroupv2 configuration
The main configuration file includes cluster name, controller host, and process tracking settings. It contains an include directive:
include /etc/slurm/sind-nodes.conf
sind does not modify slurm.conf after initial creation.
This file contains node and partition definitions for sind-managed nodes. sind owns this file exclusively:
sind create clustergenerates initial node definitionssind create workerappends new managed nodessind delete workerremoves managed nodes
Nodes with managed: false are excluded from this file.
Do not edit sind-nodes.conf directly. To add custom node definitions, create a separate file and add an include directive to slurm.conf.
sind generates a cgroup.conf for cgroupv2 support, enabling resource isolation and accounting for Slurm jobs.
sind discovers the Slurm version before creating any cluster resources by running an ephemeral container:
docker run --rm <image> scontrol --version
# Output: "slurm 25.11.4"
This happens once per unique image. The version is stored as a label on cluster resources (sind.slurm.version) and used for:
- Generating version-appropriate configuration
- Displaying version information in CLI output
When different images report different Slurm versions, sind logs a warning but continues. The controller image’s version is used for configuration generation.
sind provides a working starter configuration. For additional customization, users can:
- Edit
slurm.confon the controller (the config volume is writable) - Add include files for custom configuration
- Replace the entire configuration (but
sind create workerwill fail for managed nodes withoutsind-nodes.conf)