Development #45276
commande de resynchronisation des utilisateurs
0%
Description
Les messages de provisionning peuvent échouer et des utilisateurs supprimés persister dans les modules, il faudrait régulièrement pouvoir utiliser l'API de synchronisation d'authentic pour ajuster ça.
Fichiers
Demandes liées
Historique
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Fichier 0001-agent-add-resync_users-common-command-45276.patch 0001-agent-add-resync_users-common-command-45276.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Assigné à mis à Paul Marillonnet
- Patch proposed changé de Non à Oui
En transposant un peu le script de la doc mentionné dans la description de ticket, cela pourrait être quelque chose comme ça.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Plusieurs choses :
1. Si le but est d'obtenir les rôles nouveaux d'un utilisateur ça ne marchera pas, modified n'est pas mis à jour sur un changement de rôles. Idéalement on aurait une colonne created/modified sur le modèle Role.members.through et RoleParenting et que modified_gt prenne ça aussi en compte, mais on a pas, un contournement ce serait de taper dans le journal, de regarder tous les objets users impliqués dans une action du journal ces n dernière minutes (mais donc faut du code coté authentic)
2. Il y a une API synchronization qui est d'abord pensé pour le deprovisionning (créée pour GLC) mais on pourrait l'étendre pour prendre un timestamp, et rapporter les uuid disparues (depuis DeletedUser) et les usagers qui ont reçu une action dans le journal, ensuite on taperait dans /api/users/ qui pourrait recevoir une extension pour pouvoir requêter une liste d'UUID plutôt que de les récupérer un par un (ou alors on s'arrange pour que synchronization le fasse).
Sans tout ça la commande me paraît un peu bancal à l'usage, aussi je ne mettrai pas le code de tout ça directement dans la commande mais dans hobo/provisionning/utils.py, parce que c'est souvent plus facile à tester/réutiliser ainsi.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
2. Il y a une API synchronization qui est d'abord pensé pour le deprovisionning (créée pour GLC) mais on pourrait l'étendre pour prendre un timestamp, et rapporter les uuid disparues (depuis DeletedUser) et les usagers qui ont reçu une action dans le journal
Ok, #57564.
ensuite on taperait dans /api/users/ qui pourrait recevoir une extension pour pouvoir requêter une liste d'UUID plutôt que de les récupérer un par un (ou alors on s'arrange pour que synchronization le fasse).
Ok, #57567.
Sans tout ça la commande me paraît un peu bancal à l'usage, aussi je ne mettrai pas le code de tout ça directement dans la commande mais dans hobo/provisionning/utils.py, parce que c'est souvent plus facile à tester/réutiliser ainsi.
Ok, commencé à y réfléchir, visible dans la branche.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Lié à Development #57564: étendre l’API de synchronisation ajouté
Mis à jour par Paul Marillonnet il y a plus de 2 ans
- Lié à Development #57567: ajouter un paramètre full à l’api de synchronisation ajouté
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Solution proposée à En cours
(j'ai l'impression que ça n'est plus formellement proposé)