grycap.slurm
SLURM クラスター ロール
SLURM クラスターをインストールします。
ロール変数
このロールに渡すことができる変数とその簡単な説明は次の通りです。
# インストールするSLURMのバージョン(RHシステムの場合)
slurm_version: 20.02.7
# SLURMコードをダウンロードするサーバーのリスト
slurm_mirrors: [ "http://ftpgrycap.i3m.upv.es/src/", "https://download.schedmd.com/slurm/" ]
# インストールするノードのタイプ:フロントまたはWN
slurm_type_of_node: front
# SLURMサーバーの名前
slurm_server_name: slurmserver
# SLURMサーバーのIPアドレス
slurm_server_ip: 127.0.0.1
# SLURM作業ノードに設定するプレフィックス
slurm_vnode_prefix: vnode-
# WNの名前のリスト
slurm_wn_nodenames: []
# WNのCPU数
slurm_wn_cpus: 1
# WNのメモリ量(MB単位、RealMemoryを参照)。0の場合は設定されません
slurm_wn_mem: 0
# WNのGRES仕様
slurm_wn_gres: ""
# WNのGRESタイプ仕様
slurm_wn_gres_types: ""
# 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: {}
# cgroup用のSLURM設定オプション
slurm_cgroup_conf_options:
CgroupPlugin: cgroup/v1
## サンプルプレイブック
以下はSLURMクラスターをインストールする方法の例です:
```yaml
- 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']}}" }
ロールへの貢献
コードをきれいに保つために、masterブランチへの変更のプッシュは禁止されています。貢献したい場合は、ブランチを作成し、変更をアップロードしてからプルリクエストを作成してください。
ありがとうございます。