Nous sommes heureux d’annoncer la sortie de slurm-quota v3.0.0, une mise à jour majeure de notre solution open source de gestion des quotas de temps CPU/GPU pour les clusters Slurm. Cette version transforme le service HTTP en une API REST authentifiée complète avec contrôle d’accès basé sur les rôles, et étend l’administration des quotas à l’interface web.
Pour rappel, slurm-quota permet aux centres de calcul HPC et IA de
comptabiliser et d’appliquer des quotas de temps CPU et GPU pour les
utilisateurs et les comptes, avec une architecture légère qui s’intègre
naturellement aux workflows Slurm standards.
Nouveautés
Les utilisateurs peuvent s’authentifier auprès de l’annuaire LDAP du site depuis la CLI et le tableau de bord web. Après une connexion réussie, le service émet un JWT utilisé pour les requêtes API suivantes.
- Authentification JWT par jeton Bearer (#57)
Les routes protégées de l’API REST exigent un JWT Bearer dans l’en-tête
Authorization. Les jetons peuvent être obtenus via la connexion LDAP, ou
émis hors ligne par les administrateurs avec slurm-quota-token lorsque
l’authentification JWT seule est configurée.
Au-delà des statistiques, l’API couvre désormais les changements de quotas, les ajustements de consommation, les quotas par défaut, les facteurs GPU et la gestion des rôles. La CLI et le tableau de bord web sont tous deux clients de cette API unique.
L’accès est gouverné par une politique d’autorisation à quatre rôles :
user — rôle par défaut ; consultation de sa propre consommation et de ses quotas
manager — consultation des statistiques des comptes Slurm assignés, en plus de la visibilité personnelle
operator — consultation de toutes les statistiques et gestion des quotas, de la consommation, des valeurs par défaut et des facteurs GPU
admin — mêmes droits opérationnels que les opérateurs, plus l’attribution des rôles
- Plus besoin de sudo pour les opérations d’administration en CLI
Les opérateurs et administrateurs s’authentifient en leur nom et exécutent les
commandes de gestion des quotas via l’API. L’accès sudo local à la base de
données n’est plus nécessaire pour l’administration quotidienne.
Les opérateurs et administrateurs peuvent modifier les quotas et ajuster la consommation directement depuis le tableau de bord, avec un retour plus clair sur les succès et les erreurs.
- CLI et interface web pour l’attribution des rôles (#90)
Les administrateurs peuvent accorder ou révoquer les rôles opérateur et manager,
et assigner des comptes Slurm aux managers, via la nouvelle commande
slurm-quota role et la page Manage roles du tableau de bord web.
- Mode WAL pour SQLite (#71)
Le Write-Ahead Logging est activé sur la base SQLite afin d’améliorer la concurrence entre le chemin de charge des jobs, l’API REST et les lecteurs simultanés.
- Support TLS natif pour l’API REST (#77)
slurm-quota-serve peut terminer le HTTPS nativement avec un certificat et une
clé configurés dans serve.ini, afin que les jetons et les identifiants LDAP
ne soient pas transmis en clair sur le réseau du cluster.
Cette version inclut également un refactoring du packaging Python avec des
commandes dédiées slurm-quota-{serve,charge,prune}.
Mise à jour
La version 3 est une version majeure avec des changements incompatibles :
l’authentification est désormais obligatoire sur l’API REST, les points
d’entrée des commandes sont séparés (slurm-quota-serve, slurm-quota-charge,
slurm-quota-prune), et les chemins de déploiement du tableau de bord web ont
changé. Les installations RPM existantes en v2 peuvent suivre le
guide de mise à jour de la v2 vers la v3,
qui couvre la sauvegarde de la base, la mise à jour des paquets, la
configuration de l’authentification et de l’autorisation dans serve.ini, la
mise à jour de l’environnement client (SLURM_QUOTA_URL, TLS), l’initialisation
des rôles, et les changements de chemins Apache/mod_wsgi pour le tableau de
bord web.
Remerciements
Le développement de slurm-quota est continuellement soutenu par
ISDM-Meso, une entité de
l’Université de Montpellier. Nous les
remercions chaleureusement pour leur soutien continu et la confiance qu’ils
accordent à ce travail.