fifty2technology.openpbs
説明
この役割は、計算ノード、サーバーノード、またはその両方にOpenPBSをインストールおよび構成します。公式GitHubリポジトリのINSTALL
手順に従います。公式リポジトリはこちらです。
注意:実行中のシミュレーションがあるノードに変更を加えた場合、OpenPBSが再起動し、シミュレーションも再起動されます。安全を期すために、アイドルノードでのみ実行してください。
Moleculeシナリオは、Podman上のRockylinux 9およびOpenPBSバージョン23.06.06でテストされています。
要件
- すべてのノードは、希望のMPIユーザーを使って互いにSSH接続できる必要があります(n対n)(OpenPBSサーバーとノードの両方を含む)。
- インベントリグループは、
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リポジトリを参照してください:GitHubリポジトリ |
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内部で作成されたユーザー。更新で問題が発生した場合に手動でDBを確認する際に役立ちます。 |
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