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

  • Authentification LDAP native (#53, #54, #55)

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.

  • API REST complète pour les opérations courantes (#52, #60, #64, #68, #69)

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.

  • RBAC avec quatre rôles (#58, #70)

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.

  • Contrôle des quotas et de la consommation dans l’interface web (#82, #85)

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.

Pour en savoir plus