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) ympinodes
(para los nodos de cálculo). Los nombres de grupo diferentes deben establecerse en las variables predeterminadasopenpbs_server_hostname
,openpbs_server
,openpbs_mom
y entemplates/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 desearch
como las dedomain
correctas - Los nombres de host deben estar en formato non-FQDN (
foo
en lugar defoo.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
Instalar
ansible-galaxy install fifty2technology.openpbs
Licencia
gpl-3.0
Descargas
195
Propietario