pyslurm是slurm API的python扩展库, 通过调用slurm的api接口,获取slurm集群的状态信息。
pyslurm的安装
pyslurm依赖slurm的lib库和include文件,所以在安装pyslurm之前,需要安装slurm库
$ sudo apt-get install libslurm-dev
$ sudo apt-get install libslurmdb-dev
pyslurm调用到了cython,也需要安装
$ sudo apt-get install cython
在github上下载pyslurm
$ git clone https://github.com/PySlurm/pyslurm.git
PySlurm下的pyslurm一直在维护,它是从 phantez/pyslurm里fork出来的,phantez/pyslurm已经 没有维护了,所以不要下错了。 pyslurm需要对应不同的slurm版本,我ubuntu下使用apt-get安装的slurm的版本为2.6.5,对应的pyslurm 版本为pyslurm(slurm-2.6.0),所以在安装之前,我们需要先跳转到slurm-2.6.0分支,在安装时一定要安装与slrum对应版本的pyslurm
$ git checkout -b slurm-2.6.0 origin/slurm-2.6.0
然后便可以进行安装了
$ cd pyslurm
$ python setup.py build
$ sudo python setup.py install
如果slurm的安装目录不是/usr,需要在指定slurm安装目录,pyslurm的README里有介绍。
pyslurm使用
到pyslurm的examples里面运行一个例子
$ cd examples
$ ./node_list.py
cn02 :
alloc_cpus : 0
arch : x86_64
boards : 1
boot_time : Fri Aug 12 06:08:08 2016
cores : 6
cpu_load : 0.00
cpus : 24
energy : {'current_watts': 0, 'consumed_energy': 0, 'base_consumed_energy': 0, 'previous_consumed_energy': 0, 'base_watts': 0}
err_cpus : 0
features : []
gres : []
idle_cpus : 24
name : cn02
node_addr : cn02
node_hostname : cn02
node_state : IDLE
os : Linux
real_memory : 1
reason : None
reason_time :
reason_uid :
sensors : {'current_watts': 0, 'consumed_energy': 4294967294, 'temperature': 4294967294, 'energy_update_time': 0}
slurmd_start_time : Fri Aug 12 06:54:19 2016
sockets : 2
threads : 2
tmp_disk : 0
weight : 1
一下是pyslurm接口。