Development #8217
Ajouter une tâche hobo pour notifier les agents des nouveaux rôles, connecter cette tâche aux signaux post_save, post_delete sur les rôles
100%
Description
Pour permettre aux agents de savoir pour quel tenant sont destinés ces messages de provisionning un champ audience est ajouté, contenant la listes des entity_id SAML connus d'authentic.
Fichiers
Demandes liées
Révisions associées
add new agent task to provision objects to tenants (fixes #8217)
First use is to connect it to post_save, post_delete signal on Role
model of authentic, to propagate roles to tenants.
update french translations (#8217)
agent/authentic2: do not activate new and old role import at the same time (#8217)
agent/authentic2: fix typos in import-wcs-roles (#8217)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Lié à Project management #8006: Supprimer la création de rôles dans w.c.s. ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Lié à Development #8219: nouvelle command 'notify' pour traiter les notifications provisionnement/déprovisionnement des rôles en provenance d'authentic ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
Nouvelle version où on envoie tous les rôles à chaque fois, ça mange pas de pain et ça simplifie la synchro.
Mis à jour par Frédéric Péters il y a plus de 8 ans
Je préférerais une version qui utilise les classes en place dans services.py, un notify() qui soit à peu près
for klass in service_classes: klass.notify(data)
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
Pas le bon patch. Ok pour le for klass.
Mis à jour par Frédéric Péters il y a plus de 8 ans
Mmmm, j'imaginais le notify() dans la classe de base, utilisant self.service_manage_cmd.
if not os.path.exists(settings.WCS_MANAGE_COMMAND):
Et je note un autre truc là-dessus maintenant, c'est que le WCS_MANAGE_COMMAND, ce n'est pas nécessairement un fichier (en local j'ai 'wcsctl.py -f fichier.cfg' pour wcs et '.../venv/python ..../manage.py' pour d'autres applications).
Je n'ai pas d'autre suggestion que de faire le subprocess.Popen dans toutes les situations et ignorer le OSError qu'il lèverait en cas de commande manquante.
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
Je savais bien que je n'avais pas envie d'aller vers ça :)
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-new-notify-command-to-handle-role-provisionning-depr.patch ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier
0001-new-notify-command-to-handle-role-provisionning-depr.patchsupprimé
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
Mis à jour par Frédéric Péters il y a plus de 8 ans
Avec la suppression de la modif au settings.py, ça me semble bien pour être commité.
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
Voilà sur le bon ticket (je me suis mis à parler de ce ticket sur l'autre aussi...).
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
Voilà avec la suppression de la modifications à settings.py.
Mis à jour par Frédéric Péters il y a plus de 8 ans
Après avoir dormi dessus, je préférerais qu'on appelle la commande hobo_notify.
À part ça, je me suis aussi dit que j'allais devoir réfléchir à comment faire fonctionner ça dans l'environnement imio où il n'y a pas pour le moment pas de hobo, mais c'est mon affaire.
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch ajouté
- Fichier 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
- Fichier 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch ajouté
- modification à import-wcs-roles pour créer un existant au niveau des champs emails et emails_to_members
- plein de fichiers manquants: la surcharge du formulaire authentic des rôles (pour la gestion des emails de rôle), mise à jour du fichier sudoers dans le paquet (pour pouvoir lancer les commands hobo_notify des différentes applications), une implémentation de hobo_notify commune (qui ne fait rien, qui pourra très vite propager les rôles à Combo)
- un setting HOBO_ROLE_EXPORT pour contrôler qui de import-wcs-roles ou de hobo_notify importe les rôles, pour gérer la transition
- le coup du OSError ne peut pas marcher parce qu'on utilise sudo (et sudo est toujours là contrairement à la commande hobo_notify), donc ça va systématiquement faire un returncode!=0 au lieur d'un OSError, que je log mais c'est pas bien, il faudrait trouver un moyen de détecter qu'un service est là ou pas.
Voilà tout ça est déployé sur montpellier.dev.eo (avec HOBO_ROLE_EXPORT=True) mes quelques tests indiquent que ça marche (création, suppression, modification des champs).
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Bloqué par Development #8254: dans /api/roles exporter aussi .emails et .emails_to_members ajouté
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch ajouté
- Fichier 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
- Fichier 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch ajouté
- importation de role['details'] dans Role.description
- ajout des fichiers .po .mo du package agent/authentic2 dans le MANIFEST.in
Mis à jour par Frédéric Péters il y a plus de 8 ans
Pour les traductions, je préfère qu'on garde un unique .po, ça t'irait ?
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Fichier 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch ajouté
Hop.
Mis à jour par Frédéric Péters il y a plus de 8 ans
Il n'y a plus besoin du recursive-include hobo/agent/authentic2/locale *.po *.mo
dans le MANIFEST.in.
Tu pourrais ajouter les lignes de commentaire de la GPL en début des nouveaux fichiers .py ? (il y a l'exemple dans hobo/profile/*.py).
Je préfère la modification du .po dans un commit séparé, je trouve que ça facilite les manipulations de commits.
En prenant ça en compte, c'est bon pour moi sans relecture supplémentaire.
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Statut changé de En cours à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit 57b1bd5c41c5f9d55796df351cd9101e1bba25a9.
Mis à jour par Benjamin Dauvergne il y a plus de 8 ans
- Statut changé de Résolu (à déployer) à Fermé
import-wcs-roles: import roles .emails and .emails_to_members fields (#8217)
As we are moving from and w.c.s. role master to an authentic as role
master, we must first import as much data from w.c.s. roles as possible
into authentic.