Development #52620
agent/authentic2: accélérer le provisionning dans le cas des agents
0%
Description
Actuellement dans le cas des agents qui ont souvent des rôles d'administration au niveau des applications, on boucle sur leur utilisateur 1 par 1 pour chaque service. Ça n'est pas nécessaire, le seul attribut supporté est celui déterminant si l'agent est administrateur du service, cela peut-être fait dans un seul message de notification pour tous les utilisateurs concernés.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0001-agent-authentic2-batch-the-provisionning-of-agents-5.patch 0001-agent-authentic2-batch-the-provisionning-of-agents-5.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Ça corrige un problème remarqué sur Toulouse ce matin : en modifiant la configuration LDAP pour provisionner un nouvel attribut (matricule_agent) j'ai remarqué que le provisionning de la quelque centaines d'agents était très lent, ceci parce qu'ils étaient envoyés 1 par 1 alors que pour chaque service dans ce cas on peut les envoyer groupés, on ne peut juste pas les envoyer à tous les services en même temps à cause du flag 'is_superuser'.
Un amélioration supplémentaire serait de séparer ceux qui ont ce flag et ceux qui ne l'ont pas, on pourrait dans ce cas faire seulement 1 envoi groupé pour les agents sans le flag à tous les services et un autre par service pour les quelques administrateurs, mais d'ici ce serait plus simple de réformer ce fonctionnement pour ne dépendre que d'un attribut du rôle ou d'une politique implicite sur le nom du rôle pour déterminer si un utilisateur est administrateur du service.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Ça devrait beaucoup améliorer l'ergonomie quand on manipule l'héritage sur des rôles très peuplés (genre affecter un rôle au rôle "Agent").
Mis à jour par Valentin Deniaud il y a environ 3 ans
Le logging est un peu cassé :
- logger.info(u'provisionning user %s to %s', user, audience) + logger.info('provisionning users %s to %s', batched_users, audience)
« provisionning users <itertools.chain object at 0x7f20cc96c630> to https:// »
Des sauts de lignes à retirer aussi, sinon ça me parait safe.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0001-agent-authentic2-batch-the-provisionning-of-agents-5.patch 0001-agent-authentic2-batch-the-provisionning-of-agents-5.patch ajouté
Ok.
Mis à jour par Valentin Deniaud il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 9b5e4dde2e8523ec45e0cc1a64be0f01d99eb4fb Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Apr 1 13:21:57 2021 +0200 agent/authentic2: batch the provisionning of agents (#52620)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
agent/authentic2: batch the provisionning of agents (#52620)