Must topology.conf, like slurm.conf, be accessible to all nodes?
Slurm Management Node - Is it sufficient that only nodes running slurmdbd/slurmctld can be referenced?
I confirmed on the official Slurm website that the official documentation states topology.conf should be placed in the same directory as slurm.conf.
However, some Oracle (OCI) official sources also state that topology.conf should be accessible from all nodes (including compute nodes).
Do you have a more specific answer?
Translated with DeepL.com (free version)
On 7/10/25 12:17 am, Yusuke Saiki via slurm-users wrote:
I confirmed on the official Slurm website that the official documentation states topology.conf should be placed in the same directory as slurm.conf.
That is correct, and IIRC it needs to be everywhere where slurmd runs as well as it's tied up with how Slurm messages are forwarded across the system. Looking at the Slurm code the topology code is common code, and referenced (at least in 24.11) from src/common.forward.c in the forward_msg() function.
Also Slurm's configless mode sends out topology.conf to compute nodes, which would reinforce that being important.
All the best, Chris
Thank you, Chris. That helps a lot. To be explicit about terms:
・Management node: runs slurmctld/slurmdbd ・Compute node: runs slurmd
From your note (topology in common code referenced by forward_msg() and configless pushing topology.conf), I’ll keep topology.conf alongside slurm.conf and ensure /etc/slurm is readable across the cluster, including compute nodes. Does that align with your understanding?
On 12/10/25 10:11 am, Yusuke Saiki via slurm-users wrote:
Thank you, Chris. That helps a lot.
My pleasure!
To be explicit about terms:
・Management node: runs slurmctld/slurmdbd ・Compute node: runs slurmd
That's correct, though there's no requirement to run slurmdbd on the same node as the slurmctld.
From your note (topology in common code referenced by forward_msg() and configless pushing topology.conf), I’ll keep topology.conf alongside slurm.conf and ensure /etc/slurm is readable across the cluster, including compute nodes. Does that align with your understanding?
Yup, that sounds right. Ideally you'll have the same config files everywhere.
Just be careful with slurmdbd.conf as that should not be world-readable as it will have the credentials for your MySQL/MariaDB/etc database in it.
All the best, Chris