Projet

Général

Profil

Development #52620

agent/authentic2: accélérer le provisionning dans le cas des agents

Ajouté par Benjamin Dauvergne il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
01 avril 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision 9b5e4dde (diff)
Ajouté par Benjamin Dauvergne il y a environ 3 ans

agent/authentic2: batch the provisionning of agents (#52620)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

Ç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.

#2

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").

#3

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.

#5

Mis à jour par Valentin Deniaud il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée
#6

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)
#7

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

Formats disponibles : Atom PDF