fifty2technology.openpbs
描述
该角色在计算节点、服务器节点或两者上安装和配置 OpenPBS。它遵循 官方 GitHub 仓库 的 INSTALL
指令。
注意:当作用于正在运行仿真的节点时,如果发生配置更改,OpenPBS 将被重启,仿真也会随之重启。为了安全起见,请仅在空闲节点上运行。
Molecule 场景在 Podman 上使用 Rockylinux 9 和 OpenPBS 版本 23.06.06 进行测试。
要求
- 所有节点必须能相互使用 SSH(n-to-n),包括 OpenPBS 服务器 和 节点,并使用所需的 MPI 用户。
- 清单组应命名为
pbsheadnode
(用于主节点)和mpinodes
(用于计算节点)。不同的组名必须在默认变量openpbs_server_hostname
、openpbs_server
、openpbs_mom
和templates/pbs.conf.j2
中设置。 - 支持的 Linux 发行版包括 Debian 11、Ubuntu 18.04 和 Rockylinux 8/9。
- 有效的 DNS 名称解析。包括 FQDN 和非 FQDN:
- 确保您的 DNS 服务器能够正确解析主机名
- 确保
/etc/resolv.conf
中包含正确的search
和domain
条目 - 主机名必须采用非 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