fifty2technology.openpbs

描述

该角色在计算节点、服务器节点或两者上安装和配置 OpenPBS。它遵循 官方 GitHub 仓库INSTALL 指令。

注意:当作用于正在运行仿真的节点时,如果发生配置更改,OpenPBS 将被重启,仿真也会随之重启。为了安全起见,请仅在空闲节点上运行。

Molecule 场景在 Podman 上使用 Rockylinux 9 和 OpenPBS 版本 23.06.06 进行测试。

要求

  • 所有节点必须能相互使用 SSH(n-to-n),包括 OpenPBS 服务器 节点,并使用所需的 MPI 用户。
  • 清单组应命名为 pbsheadnode(用于主节点)和 mpinodes(用于计算节点)。不同的组名必须在默认变量 openpbs_server_hostnameopenpbs_serveropenpbs_momtemplates/pbs.conf.j2 中设置。
  • 支持的 Linux 发行版包括 Debian 11、Ubuntu 18.04 和 Rockylinux 8/9。
  • 有效的 DNS 名称解析。包括 FQDN 和非 FQDN:
    • 确保您的 DNS 服务器能够正确解析主机名
    • 确保 /etc/resolv.conf 中包含正确的 searchdomain 条目
    • 主机名必须采用非 FQDN 格式(例如 foo 而不是 foo.example.org
  • 基于 RedHat 的发行版需要启用 PowerTools/CRB 仓库。

角色变量

所有可以重写的变量存储在 defaults/main.yml 文件中,以及以下表格中。

名称 默认值 描述
openpbs_version latest 要安装的 OpenPBS 版本。必须为 'latest' 或匹配 OpenPBS 中的标签名(例如 v20.0.1)。请参见 GitHub 仓库: https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs 安装目录。将被添加到您的 $PATH 中。
openpbs_build_dir /opt/build_pbs 构建目录
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" OpenPBS 服务器(主节点)的主机名。默认基于清单组成员资格。
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not
( inventory_hostname in groups['mpinodes'] ) }}"
根据其组成员资格决定一个主机是 PBS MOM 还是 PBS 服务器。必要时调整组名,逻辑不得改变。
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not
( inventory_hostname in groups['pbsheadnode'] ) }}"
根据其组成员资格决定一个主机是 PBS MOM 还是 PBS 服务器。必要时调整组名,逻辑不得改变。
openpbs_dbuser_username pbsdata 为 PBS 内部使用创建的用户,用于访问数据库。如果更新出现问题并需要手动检查数据库,能够访问会很便利。
openpbs_dbuser_password plzchangeme 上述账户名的密码

依赖

无。

示例剧本

此示例使用的清单:

all:
  children:
    mpinodes:
      hosts:
        ubuntumom.example.com:
        centosmom.example.com:
        debianmom.example.com:
    pbsheadnode:
      hosts:
        pbsserver.example.com:
- hosts: mpinodes,pbsheadnode
  gather_facts: true
  become: true

  roles:
    - role: openpbs
关于项目

Install OpenPBS, an HPC workload manager and a job scheduler.

安装
ansible-galaxy install fifty2technology.openpbs
许可证
gpl-3.0
下载
195
拥有者