本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
翻译 Slurm Job 提交插件脚本以便在 PCS 中使用 CLI 过滤器插件 AWS
当你从其他 Slurm 环境迁移时,将你现有的 Job Submit Plugin Lua 脚本翻译为 CLI 过滤器插件。翻译过程包括更新函数名称和字段访问模式以使用 CLI 过滤器插件 API。
先决条件
在翻译脚本之前,请完成以下任务:
-
查看你现有的 Job Submit 插件 Lua 脚本
-
了解 Job Submit 和 CLI 筛选插件之间的区别 APIs
-
访问 Slurm CLI 过滤器插件文档
将 Job Submit 插件脚本翻译为 CLI 过滤器插件
-
查看您现有的 Job Submit 插件脚本函数 (
slurm_job_submit,slurm_job_modify)。 -
确定等效的 CLI 过滤器插件函数:
-
slurm_job_submit变为slurm_cli_pre_submit -
slurm_cli_setup_defaults为默认参数设置添加 -
slurm_cli_post_submit为提交后的操作添加
-
-
将作业验证逻辑从
job_desc字段转换为options数组访问权限:-
job_desc.account变为options["account"] -
job_desc.partition变为options["partition"] -
job_desc.features变为options["constraint"]
-
-
将记录呼叫从更新
slurm.log_user()为slurm.log_error()。 -
在开发集群上测试已翻译的脚本。
-
按照标准的 CLI 过滤器插件部署流程部署到您的生产集群。
预期结果
完成翻译后:
-
您的翻译脚本提供了同等的作业提交验证
-
用户看到的错误消息和提示与你最初的 Job Submit 插件类似
-
在迁移到 AWS PCS 期间,将维护作业提交策略
问题排查
- 脚本翻译错误
-
症状:Job 提交失败,导致 Lua 执行错误。
可能的原因:翻译后的脚本中的字段访问或函数调用不正确。
解决方案:查看 CLI 筛选插件 API 文档,比较 Job Submit 和 CLI 筛选器接口之间的字段映射。