fifty2technology.openpbs

Descripción

Este rol instala y configura OpenPBS en nodos de cómputo, nodos de servidor o ambos. Sigue las instrucciones de INSTALL del repositorio oficial de GitHub.

Nota: Cuando se aplica a un nodo con una simulación en ejecución y se realiza un cambio de configuración, OpenPBS se reinicia y, por lo tanto, también reinicia la simulación. Para estar seguros, solo ejecútalo en nodos inactivos.

El escenario de Molecule se prueba en Podman con Rockylinux 9 y OpenPBS versión 23.06.06.

Requisitos

  • Todos los nodos deben poder usar SSH entre sí (n-a-n) (incluye el servidor OpenPBS y los nodos) con el usuario MPI deseado.
  • Los grupos de inventario deben llamarse pbsheadnode (para el nodo principal) y mpinodes (para los nodos de cálculo). Los nombres de grupo diferentes deben establecerse en las variables predeterminadas openpbs_server_hostname, openpbs_server, openpbs_mom y en templates/pbs.conf.j2.
  • Las distribuciones de Linux compatibles incluyen Debian 11, Ubuntu 18.04 y Rockylinux 8/9.
  • Se requiere una resolución de nombres DNS funcionando. Incluye la resolución de FQDNs y non-FQDNs:
    • Asegúrate de que tus servidores DNS resuelvan los nombres de host correctamente
    • Asegúrate de que /etc/resolv.conf incluya tanto las entradas de search como las de domain correctas
    • Los nombres de host deben estar en formato non-FQDN (foo en lugar de foo.example.org)
  • Las distribuciones basadas en RedHat necesitan habilitar el repositorio PowerTools/CRB.

Variables del Rol

Todas las variables que se pueden sobrescribir se almacenan en el archivo defaults/main.yml así como en la tabla a continuación.

Nombre Valor predeterminado Descripción
openpbs_version latest Versión de OpenPBS a instalar. Debe ser 'latest' o coincidir con un nombre de etiqueta en OpenPBS (por ejemplo v20.0.1). Ver repositorio de GitHub: https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs Directorio de instalación. También se añadirá a tu $PATH.
openpbs_build_dir /opt/build_pbs Directorio de construcción
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" Nombre de host del servidor OpenPBS (nodo principal). El predeterminado se basa en la membresía del grupo de inventario.
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not
( inventory_hostname in groups['mpinodes'] ) }}"
Decide si un host es un MOM de PBS o un servidor PBS, basado en su membresía en grupos. Adapta los nombres de grupos donde sea necesario, la lógica no debe cambiarse.
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not
( inventory_hostname in groups['pbsheadnode'] ) }}"
Decide si un host es un MOM de PBS o un servidor PBS, basado en su membresía en grupos. Adapta los nombres de grupos donde sea necesario, la lógica no debe cambiarse.
openpbs_dbuser_username pbsdata Usuario creado para uso interno de PBS, para acceder a la base de datos. Puede ser útil tener acceso en caso de que la actualización falle y debes verificar la base de datos manualmente.
openpbs_dbuser_password plzchangeme Contraseña para el nombre de cuenta anterior

Dependencias

Ninguna.

Ejemplo de Playbook

Inventario utilizado para este ejemplo:

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
Acerca del proyecto

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

Instalar
ansible-galaxy install fifty2technology.openpbs
Licencia
gpl-3.0
Descargas
195
Propietario