fifty2technology.openpbs

Description

Ce rôle installe et configure OpenPBS sur des nœuds de calcul, des nœuds serveur, ou les deux. Il suit les instructions INSTALL du dépôt GitHub officiel.

Note : Lorsqu'il est appliqué à un nœud avec une simulation en cours et qu'un changement de configuration a lieu, OpenPBS est redémarré et donc la simulation redémarre également. Pour être prudent, exécutez uniquement sur des nœuds inactifs.

Le scénario Molecule est testé dans Podman avec Rockylinux 9 et OpenPBS version 23.06.06.

Exigences

  • Tous les nœuds doivent pouvoir utiliser SSH les uns avec les autres (n-à-n) (inclut le serveur OpenPBS et les nœuds) avec l'utilisateur MPI souhaité.
  • Les groupes d'inventaire doivent être nommés pbsheadnode (pour le nœud principal) et mpinodes (pour les nœuds de calcul). Les noms de groupe divergents doivent être définis dans les variables par défaut openpbs_server_hostname, openpbs_server, openpbs_mom et dans templates/pbs.conf.j2.
  • Les distributions Linux supportées incluent Debian 11, Ubuntu 18.04 et Rockylinux 8/9.
  • Résolution des noms DNS fonctionnelle. Comprend la résolution des FQDN et des non-FQDN :
    • Assurez-vous que vos serveurs DNS résolvent correctement les noms d'hôte.
    • Assurez-vous que /etc/resolv.conf comprend les bonnes entrées search et domain.
    • Les noms d'hôte doivent être au format non-FQDN (foo au lieu de foo.example.org).
  • Les distributions basées sur RedHat doivent avoir le référentiel PowerTools/CRB activé.

Variables du rôle

Toutes les variables qui peuvent être écrasées sont stockées dans le fichier defaults/main.yml ainsi que dans le tableau ci-dessous.

Nom Valeur par défaut Description
openpbs_version latest Version d'OpenPBS à installer. Doit être 'latest' ou correspondre à un nom de tag dans OpenPBS (par exemple, v20.0.1). Voir le dépôt GitHub : https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs Répertoire d'installation. Sera également ajouté à votre $PATH.
openpbs_build_dir /opt/build_pbs Répertoire de construction
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" Nom d'hôte du serveur OpenPBS (nœud principal). Par défaut, basé sur l'appartenance au groupe d'inventaire.
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not ( inventory_hostname in groups['mpinodes'] ) }}" Détermine si un hôte est un PBS MOM ou un serveur PBS, en fonction de son appartenance aux groupes. Adaptez les noms de groupes si nécessaire, la logique ne doit pas être changée.
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not ( inventory_hostname in groups['pbsheadnode'] ) }}" Détermine si un hôte est un PBS MOM ou un serveur PBS, en fonction de son appartenance aux groupes. Adaptez les noms de groupes si nécessaire, la logique ne doit pas être changée.
openpbs_dbuser_username pbsdata Utilisateur créé pour un usage interne à PBS, pour accéder à la base de données. Pratique d'avoir accès au cas où une mise à jour échoue et que vous devez vérifier la base de données manuellement.
openpbs_dbuser_password plzchangeme Mot de passe pour le compte ci-dessus

Dépendances

Aucune.

Exemple de Playbook

Inventaire utilisé pour cet exemple :

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
À propos du projet

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

Installer
ansible-galaxy install fifty2technology.openpbs
Licence
gpl-3.0
Téléchargements
195
Propriétaire