def generate_slurm_conf_script()

in slurm-to-batch/convert_to_batch_job.py [0:0]


def generate_slurm_conf_script(slurm_config: SlurmJobConfig) -> str:
    node_count = slurm_config.node_count

    slurm_conf_script_fixed = """

cat <<EOF > /usr/local/etc/slurm/slurm.conf
ClusterName=${BATCH_JOB_ID}
SlurmctldHost=$(head -1 ${BATCH_HOSTS_FILE})
AuthType=auth/munge

ProctrackType=proctrack/pgid
ReturnToService=2

# For GPU resource
GresTypes=gpu

SlurmctldPidFile=/var/run/slurm/slurmctld.pid
SlurmdPidFile=/var/run/slurm/slurmd.pid
# slurm logs
SlurmdLogFile=/var/log/slurm/slurmd.log
SlurmctldLogFile=/var/log/slurm/slurmctld.log
SlurmdSpoolDir=/var/spool/slurmd

SlurmUser=root
StateSaveLocation=/var/spool/slurmctld
TaskPlugin=task/none
SchedulerType=sched/backfill
SelectTypeParameters=CR_Core

# Turn off both types of accounting
JobAcctGatherFrequency=0
JobAcctGatherType=jobacct_gather/none
AccountingStorageType=accounting_storage/none

SlurmctldDebug=3
SlurmdDebug=3
SelectType=select/cons_tres
"""

    slurm_conf_script_not_fixed = f"MaxNodeCount={node_count}\nPartitionName=all  Nodes=ALL Default=yes\nEOF"
    return slurm_conf_script_fixed + slurm_conf_script_not_fixed