Project

General

Profile

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

Added by Benjamin Dauvergne over 8 years ago. Updated over 8 years ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
09 September 2015
Due date:
% Done:

100%

Estimated time:
Patch proposed:
Yes
Planning:

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.


Files

0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (5.48 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 09 September 2015 09:29 AM
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (5.77 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 09 September 2015 02:52 PM
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (5.5 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 09 September 2015 03:36 PM
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (6.04 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 09 September 2015 05:42 PM
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (5.44 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 09 September 2015 05:43 PM
0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch (5.42 KB) 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 10 September 2015 10:02 AM
0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch (2.24 KB) 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch Benjamin Dauvergne, 15 September 2015 09:53 AM
0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch (14.7 KB) 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 15 September 2015 09:54 AM
0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch (2.4 KB) 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch Benjamin Dauvergne, 15 September 2015 09:54 AM
0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch (2.64 KB) 0001-import-wcs-roles-import-roles-.emails-and-.emails_to.patch Benjamin Dauvergne, 15 September 2015 10:43 AM
0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch (15.3 KB) 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 15 September 2015 10:43 AM
0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch (2.4 KB) 0003-agent-authentic2-do-not-activate-new-and-old-role-im.patch Benjamin Dauvergne, 15 September 2015 10:43 AM
0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch (24.8 KB) 0002-add-new-agent-task-to-provision-objects-to-tenants-f.patch Benjamin Dauvergne, 15 September 2015 11:18 AM

Related issues

Related to Publik - Project management #8006: Supprimer la création de rôles dans w.c.s.Fermé03 August 201505 January 2016

Actions
Related to w.c.s. - Development #8219: nouvelle command 'notify' pour traiter les notifications provisionnement/déprovisionnement des rôles en provenance d'authenticFermé09 September 2015

Actions
Blocked by w.c.s. - Development #8254: dans /api/roles exporter aussi .emails et .emails_to_membersFermé12 September 2015

Actions

Associated revisions

Revision c9a5b662 (diff)
Added by Benjamin Dauvergne over 8 years ago

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.

Revision 57b1bd5c (diff)
Added by Benjamin Dauvergne over 8 years ago

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.

Revision 9c13972b (diff)
Added by Benjamin Dauvergne over 8 years ago

update french translations (#8217)

Revision 372cbb09 (diff)
Added by Benjamin Dauvergne over 8 years ago

agent/authentic2: do not activate new and old role import at the same time (#8217)

Revision 22d28835 (diff)
Added by Benjamin Dauvergne over 8 years ago

agent/authentic2: fix typos in import-wcs-roles (#8217)

History

#1

Updated by Benjamin Dauvergne over 8 years ago

#2

Updated by Benjamin Dauvergne over 8 years ago

  • Status changed from Nouveau to En cours
#4

Updated by Benjamin Dauvergne over 8 years ago

  • Related to Development #8219: nouvelle command 'notify' pour traiter les notifications provisionnement/déprovisionnement des rôles en provenance d'authentic added
#5

Updated by Benjamin Dauvergne over 8 years ago

  • File 0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch added

Nouvelle version où on envoie tous les rôles à chaque fois, ça mange pas de pain et ça simplifie la synchro.

#6

Updated by Frédéric Péters over 8 years ago

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

Updated by Benjamin Dauvergne over 8 years ago

  • File deleted (0001-add-new-agent-task-to-provision-objects-to-tenants-f.patch)
#9

Updated by Frédéric Péters over 8 years ago

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.

#10

Updated by Benjamin Dauvergne over 8 years ago

Je savais bien que je n'avais pas envie d'aller vers ça :)

#11

Updated by Benjamin Dauvergne over 8 years ago

  • File 0001-new-notify-command-to-handle-role-provisionning-depr.patch added
#12

Updated by Benjamin Dauvergne over 8 years ago

  • File deleted (0001-new-notify-command-to-handle-role-provisionning-depr.patch)
#14

Updated by Frédéric Péters over 8 years ago

Avec la suppression de la modif au settings.py, ça me semble bien pour être commité.

#15

Updated by Benjamin Dauvergne over 8 years ago

Voilà sur le bon ticket (je me suis mis à parler de ce ticket sur l'autre aussi...).

#17

Updated by Frédéric Péters over 8 years ago

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.

#19

Updated by Frédéric Péters over 8 years ago

Ça me va bien ainsi.

#20

Updated by Thomas Noël over 8 years ago

Ack pour moi aussi

#21

Updated by Benjamin Dauvergne over 8 years ago

Encore une petite couche:
  • 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).

#22

Updated by Benjamin Dauvergne over 8 years ago

  • Blocked by Development #8254: dans /api/roles exporter aussi .emails et .emails_to_members added
#24

Updated by Frédéric Péters over 8 years ago

Pour les traductions, je préfère qu'on garde un unique .po, ça t'irait ?

#26

Updated by Frédéric Péters over 8 years ago

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.

#27

Updated by Benjamin Dauvergne over 8 years ago

  • Status changed from En cours to Résolu (à déployer)
  • % Done changed from 0 to 100
#28

Updated by Benjamin Dauvergne over 8 years ago

  • Status changed from Résolu (à déployer) to Fermé

Also available in: Atom PDF