slurm配置文件的linter

slurmlint的Python项目详细描述


Travis CI Statuspython 3.5, 3.6, 3.7

一个简单的slurm配置文件linter

目的

根据我的经验,在泥浆配置中很容易犯小错误。 文件,错误地列出群集中的节点,或未能分配节点 到分区,等等。这个包提供了一个简单的命令来检查 适合用于自动化部署管理的slurm文件。

此外,还提供了python api,允许检查任意字符串 文本的。实用程序函数,例如解释slurm样式的主机名列表 也给出了。

用法

slurmlint命令将slurm配置文件作为参数 并返回包含错误的简单报告(如果有)。如果有错误 则返回代码为1,否则为0。

$ slurmlint slurm.conf
753 compute nodes configured

Errors detected:
Line 126 - Duplicate node definition: ng1031, ng908, ng909, ...
Line 127 - Duplicate node definition: ng1031
Line 128 - Duplicate node definition: ng908, ng909, ng910
Line 131 - Defined node has no partition: ng1259
Line 131 - Duplicate node definition: ng1256

限制

此实用程序无法完全理解slurm配置的语法 不保证配置文件的有效性。仅此而已 有助于发现某些简单的错误。

主机名列表

对于主机名列表,这个linter应用比slurm更严格的规则。 根据,主机名必须是有效的主机名 RFC-1123,即它们可能包含 a-z,0-9,点和减号,最多253个ascii字符,并且必须 由1-63个字符的“标签”组成,用点连接。

主机名可以在列表中用逗号分隔。

标准(?)??)括号规则适用。如果列表项使用方括号 要表示某些数值范围或逗号分隔列表,必须有 主机名末尾的括号。一个也可以有一个括号范围 主机名中的其他位置,前提是末尾有括号。 方括号可以包含由逗号分隔的有效非负整数,或者 范围,如1-8。范围内的前导零表示固定宽度,即。 001-020

注意,这个linter不使用slurm解析器,它将导致 如果允许的主机名范围仍然导致 警告。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在EclipseIndigo上安装新的Glassfish服务器   java打印组织的最短方法是什么。w3c。多姆。文件发送到stdout?   安卓 java。lang.NullPointerException:尝试在oncreate方法中的null对象引用上调用virtual方法   linux java,我的线程无一例外地终止了,为什么?   JSON和Lombok构造函数的java问题Jackson反序列化   Spring引导升级后,java无法实例化自定义库的数据源   输入Kotlin中Java Scanner的等价物是什么?   列表vs数组作为java中递归的参数   创建名为“FilterService”的bean时发生java错误:通过字段“filterDAO”表示的未满足的依赖关系   如何在Java(基本上是Android)中将指纹图像的字节数组转换为iso 19794_2?   java如何使用基本适配器单击每个位置   java如何更新数据库显示消息“您的数据库已更新,没有任何错误,但实际上我的数据库未更新”   不同比例的安卓屏幕设备的java程序   java Android For循环,全局静态列表与本地列表