in azure-slurm-install/install.py [0:0]
def _complete_install_primary(s: InstallSettings) -> None:
"""
Only the primary scheduler should be creating files under {s.config_dir}.
"""
assert s.is_primary_scheduler
secondary_scheduler = None
if s.secondary_scheduler_name:
secondary_scheduler = ilib.await_node_hostname(
s.config, s.secondary_scheduler_name
)
state_save_location = f"{s.config_dir}/spool/slurmctld"
if not os.path.exists(state_save_location):
ilib.directory(state_save_location, owner=s.slurm_user, group=s.slurm_grp)
if not os.path.exists(f"{s.config_dir}/prolog.d"):
ilib.directory(f"{s.config_dir}/prolog.d", owner=s.slurm_user, group=s.slurm_grp)
if not os.path.exists(f"{s.config_dir}/epilog.d"):
ilib.directory(f"{s.config_dir}/epilog.d", owner=s.slurm_user, group=s.slurm_grp)
ilib.template(
f"{s.config_dir}/slurm.conf",
owner=s.slurm_user,
group=s.slurm_grp,
mode="0644",
source="templates/slurm.conf.template",
variables={
"slurmctldhost": f"{s.hostname}({s.ipv4})",
"cluster_name": s.slurm_cluster_name,
"max_node_count": s.max_node_count,
"state_save_location": state_save_location,
"prolog": "/etc/slurm/prolog.d/*",
"epilog": "/etc/slurm/epilog.d/*"
},
)
if secondary_scheduler:
ilib.append_file(
f"{s.config_dir}/slurm.conf",
content=f"SlurmCtldHost={secondary_scheduler.hostname}({secondary_scheduler.private_ipv4})\n",
comment_prefix="\n# Additional HA scheduler host -",
)
if s.additonal_slurm_config:
ilib.append_file(
f"{s.config_dir}/slurm.conf",
content=s.additonal_slurm_config,
comment_prefix="\n# Additional config from CycleCloud -",
)
ilib.template(
f"{s.config_dir}/cgroup.conf",
owner=s.slurm_user,
group=s.slurm_grp,
source=f"templates/cgroup.conf.template",
mode="0644",
)
if not os.path.exists(f"{s.config_dir}/azure.conf"):
ilib.file(
f"{s.config_dir}/azure.conf",
owner=s.slurm_user,
group=s.slurm_grp,
mode="0644",
content="",
)
if not os.path.exists(f"{s.config_dir}/keep_alive.conf"):
ilib.file(
f"{s.config_dir}/keep_alive.conf",
owner=s.slurm_user,
group=s.slurm_grp,
mode="0644",
content="# Do not edit this file. It is managed by azslurm",
)
if not os.path.exists(f"{s.config_dir}/gres.conf"):
ilib.file(
f"{s.config_dir}/gres.conf",
owner=s.slurm_user,
group=s.slurm_grp,
mode="0644",
content="",
)
if not os.path.exists(f"{s.config_dir}/plugstack.conf"):
ilib.file(
f"{s.config_dir}/plugstack.conf",
owner=s.slurm_user,
group=s.slurm_grp,
mode="0644",
content=f"include /etc/slurm/plugstack.conf.d/*"
)