我想在运行我的 Ansible 剧本之前/之后自动设置 SLURM 集群中节点的状态(从空闲到耗尽以及在将剧本应用回空闲之后)。为此所需的scontrol
命令仅在集群的头节点上可用。然而,Ansible playbook 适用于集群的计算节点。有没有办法在当前连接的主机之外的另一台主机上运行远程命令?我可以考虑只使用内置shell
模块,然后通过 SSH 连接到头节点。但也许有更好的方法呢?
我已经在寻找现成的 Ansible 模块,但找不到适合我的用例的模块。现有的都专注于安装/配置 SLURM 集群。
然后我的想法是使用一个do-until
循环来设置新的集群节点状态,然后反复检查节点是否已经切换到新状态(因为仍然可能有正在运行的作业)。