fifty2technology.openpbs

Beschreibung

Diese Rolle installiert und konfiguriert OpenPBS auf Compute-Knoten, Server-Knoten oder beidem. Sie folgt den INSTALL-Anweisungen aus dem offiziellen GitHub-Repository.

Hinweis: Wenn auf einem Knoten mit einer laufenden Simulation eine Konfigurationsänderung vorgenommen wird, wird OpenPBS neu gestartet, was auch die Simulation neu startet. Um auf der sicheren Seite zu sein, führen Sie dies nur auf Leerknoten aus.

Das Molekül-Szenario wird in Podman mit Rockylinux 9 und OpenPBS Version 23.06.06 getestet.

Anforderungen

  • Alle Knoten müssen SSH untereinander verwenden können (n-zu-n) (einschließlich OpenPBS-Server und Knoten) mit dem gewünschten MPI-Benutzer.
  • Die Inventargruppen sollten pbsheadnode (für den Kopfknoten) und mpinodes (für die Compute-Knoten) genannt werden. Abweichende Gruppennamen müssen in den Standardvariablen openpbs_server_hostname, openpbs_server, openpbs_mom und in templates/pbs.conf.j2 festgelegt werden.
  • Unterstützte Linux-Distributionen sind Debian 11, Ubuntu 18.04, und Rockylinux 8/9.
  • Funktionierende DNS-Namensauflösung. Dazu gehört die Auflösung von FQDNs und nicht-FQDNs:
    • Stellen Sie sicher, dass Ihre DNS-Server Hostnamen korrekt auflösen
    • Stellen Sie sicher, dass /etc/resolv.conf sowohl die richtigen search- als auch die domain-Einträge enthält
    • Hostnamen müssen im nicht-FQDN-Format sein (foo anstelle von foo.example.org)
  • RedHat-basierte Distributionen benötigen das aktivierte PowerTools/CRB-Repository.

Rollenvariablen

Alle Variablen, die überschrieben werden können, sind in der Datei defaults/main.yml sowie in der folgenden Tabelle gespeichert.

Name Standardwert Beschreibung
openpbs_version latest OpenPBS-Version zur Installation. Muss 'latest' sein oder einem Tag-namen in OpenPBS entsprechen (z.B. v20.0.1). Siehe GitHub-Repository: https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs Installationsverzeichnis. Wird auch zu Ihrem $PATH hinzugefügt.
openpbs_build_dir /opt/build_pbs Verzeichnis für den Build
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" Hostname des OpenPBS-Servers (Kopf Knoten). Standardwert basiert auf Inventargruppen-Mitgliedschaft.
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not
( inventory_hostname in groups['mpinodes'] ) }}"
Entscheidet, ob ein Host ein PBS MOM oder ein PBS-Server ist, basierend auf seinen Gruppenmitgliedschaften. Gruppennamen wo nötig anpassen, Logik darf nicht geändert werden.
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not
( inventory_hostname in groups['pbsheadnode'] ) }}"
Entscheidet, ob ein Host ein PBS MOM oder ein PBS-Server ist, basierend auf seinen Gruppenmitgliedschaften. Gruppennamen wo nötig anpassen, Logik darf nicht geändert werden.
openpbs_dbuser_username pbsdata Benutzer, der für interne PBS-Nutzung erstellt wurde, um auf die Datenbank zuzugreifen. Kann nützlich sein, um darauf zugreifen zu können, falls das Update fehlschlägt und Sie die DB manuell überprüfen müssen.
openpbs_dbuser_password plzchangeme Passwort für den oben genannten Kontonamen

Abhängigkeiten

Keine.

Beispiel-Playbook

Inventar, das für dieses Beispiel verwendet wird:

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
Über das Projekt

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

Installieren
ansible-galaxy install fifty2technology.openpbs
GitHub Repository
Lizenz
gpl-3.0
Downloads
195
Besitzer