grycap.slurm

许可证
CI

SLURM 集群角色

安装 SLURM 集群

角色变量

可以传递给此角色的变量及其简要说明如下。

# 要安装的 SLURM 版本(适用于 RH 系统)
slurm_version: 20.02.7
# 下载 SLURM 代码的服务器列表
slurm_mirrors: [ "http://ftpgrycap.i3m.upv.es/src/", "https://download.schedmd.com/slurm/" ]
# 要安装的节点类型:前端或工作节点
slurm_type_of_node: front
# SLURM 服务器名称
slurm_server_name: slurmserver
# SLURM 服务器的 IP 地址
slurm_server_ip: 127.0.0.1
# 设置到 SLURM 工作节点的前缀
slurm_vnode_prefix: vnode-
# 工作节点的名称列表
slurm_wn_nodenames: []
# 工作节点的 CPU 数量
slurm_wn_cpus: 1
# 工作节点的内存大小(以 MB 为单位,参考 RealMemory)。如果为 0,则不设置
slurm_wn_mem: 0
# 工作节点的 GRES 规格
slurm_wn_gres: ""
# 工作节点的 GRES 类型规格
slurm_wn_gres_tpes: ""
# GRES 配置数据文件
slurm_wn_gres_conf: "AutoDetect=nvml"
# SSH 和 SLURM 管理的默认用户
# 默认 SSH 用户
user: user1
# 安装 DRMAA 库
drmaa_lib_install: false
drmaa_lib_version: 1.0.7
# SLURM 默认配置选项
slurm_default_conf_options:
    AuthType: auth/munge
    CryptoType: crypto/munge
    FirstJobId: 1
    JobRequeue: 0
    JobSubmitPlugins: all_partitions
    ProctrackType: proctrack/pgid
    ReturnToService: 2
    SlurmctldPidFile: /var/run/slurmctld.pid
    SlurmctldPort: 6817
    SlurmdPidFile: /var/run/slurmctld.pid
    SlurmdPort: 6818
    SlurmdSpoolDir: /var/spool/slurm
    SlurmUser: slurm
    StateSaveLocation: /var/slurm/checkpoint
    SwitchType: switch/none
    TaskPlugin: task/none
    InactiveLimit: 0
    KillWait: 30
    MessageTimeout: 30
    MinJobAge: 300
    SlurmctldTimeout: 30
    SlurmdTimeout: 40
    Waittime: 0
    FastSchedule: 1
    SchedulerType: sched/backfill
    SelectType: select/linear
    AccountingStorageType: accounting_storage/none
    ClusterName: cluster
    JobCompType: jobcomp/none
    JobAcctGatherFrequency: 30
    JobAcctGatherType: jobacct_gather/none
    SlurmctldDebug: debug5
    SlurmctldLogFile: /var/log/slurm/slurmctld.log
    SlurmdDebug: debug5
    SlurmdLogFile: /var/log/slurm/slurmd.log
# SLURM 用户配置选项
slurm_conf_options: {}
# SLURM 的 cgroup 配置选项
slurm_cgroup_conf_options:
    CgroupPlugin: cgroup/v1

示例剧本

这是安装 SLURM 集群的示例:

  - hosts: server
  roles:
  - { role: 'grycap.slurm', slurm_type_of_node: 'front', slurm_server_ip: '{{ansible_default_ipv4}}', slurm_wn_nodenames: "{{ groups['wns']|map('extract', hostvars, 'ansible_hostname')|list }}" }
  - hosts: wns
  roles:
  - { role: 'grycap.slurm', slurm_type_of_node: 'wn', slurm_server_ip: "{{hostvars['server']['ansible_default_ipv4']}}" }

贡献代码

为了保持代码的整洁,已禁用对主分支的直接推送。如果你想贡献代码,必须创建一个分支,上传更改,然后创建一个拉取请求。
谢谢!

关于项目

Install SLURM cluster

安装
ansible-galaxy install grycap.slurm
许可证
apache-2.0
下载
3k
拥有者
Grid y Computación de Altas Prestaciones