Projet

Général

Profil

Tâche #34043

Scénario #33975: EOLE 2.9 : Rendre disponible EoleSSO en mode conteneur

Discussions sur la mise en oeuvre d'EoleSSO et de LemonLDAP en 2.9

Ajouté par Gilles Grandgérard il y a environ 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
developpeurs_eole
Début:
04/05/2022
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

EOLE 2.9 : scribe traceback impossible de redéfinir 'eolesso_ad'

Lors de l'opération Load/Save un traceback apparait (donc avant instance)

Il semble que l'absence du dico EoleSso crée ce problème

File "/mnt/eole-ci-tests/scripts/gen_config_save3", line 11, in <module>
                loader = creole_loader(load_extra=True)
              File "/usr/lib/python3/dist-packages/creole/loader.py", line 792, in creole_loader
                eolobj.create_or_populate_from_xml('creole', dirs, from_zephir=from_zephir)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 456, in create_or_populate_from_xml
                raise err
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 453, in create_or_populate_from_xml
                self.xml_parse_document(document, self.space, namespace)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 421, in xml_parse_document
                self.xml_parse_document(child, creoleobj, namespace, is_in_family)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 421, in xml_parse_document
                self.xml_parse_document(child, creoleobj, namespace, is_in_family)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 412, in xml_parse_document
                creoleobj = self.generate_creoleobj(child, space, namespace)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 289, in generate_creoleobj
                creoleobj = self.create_or_update_space_object(child.attrib, space, child, namespace)
              File "/usr/lib/python3/dist-packages/creole/objspace.py", line 281, in create_or_update_space_object
                raise CreoleDictConsistencyError(_('Redefined object: '
            creole.error.CreoleDictConsistencyError: b"impossible de red\xc3\xa9finir l'objet inexistant eolesso_ad" 


cf. https://dev-eole.ac-dijon.fr/jenkins/job/2.9.0/job/test-instance-acaproxy-2.9.0-amd64/lastFailedBuild/parsed_console/

Demandes liées

Lié à Distribution EOLE - Scénario #34126: EOLE 2.9 : Modifier les dépendances eole-sso et en (re)faire un paquet générique Terminé (Sprint) 08/03/2022 03/06/2022
Lié à Distribution EOLE - Scénario #33744: EOLE 2.9 : Revoir les paquets lemonldap Terminé (Sprint) 03/10/2022 03/10/2022
Lié à Distribution EOLE - Scénario #34127: EOLE 2.9 : Ajouter une variable experte 'Activer les fonctionnalités avancées de LemonLdap::NG' Terminé (Sprint) 09/05/2022 03/06/2022

Révisions associées

Révision 2a88b9da (diff)
Ajouté par Joël Cuissinat il y a presque 2 ans

aca.proxy : eole-sso-client uniquement (ref: #34043)

Historique

#1 Mis à jour par Gilles Grandgérard il y a environ 2 ans

  • Release changé de EOLE 2.9.0 à Carnet de produit (Cadoles)
  • Points de scénarios mis à 1.0

#2 Mis à jour par Joël Cuissinat il y a environ 2 ans

  • Tâche parente mis à #33975

#3 Mis à jour par Emmanuel GARETTE il y a presque 2 ans

J'ai relancé le test, il n'y plus le problème de SSO.

De manière plus global il faut prendre des décisions sur les problèmes suivant (liste non complète) :

- en 2.8 et inférieur eole-lemonldap-ng requière eole-sso

=> proposition : eole-sso est un paquet commun pour tous les serveurs SSO (plus simple pour la compatibilité Envole)
L'utilisateur devra choisir entre eole-sso-server et eole-lemonldap-ng.
L'installation de ces deux paquets sont exclusives

- eole-lemonldap-ng est découpé artificiellement en 3 paquets :

  • eole-lemonldap-ng qui n'est pas pré configuré
  • eole-lemonldap-ng-scribe qui est pré configuré pour scribe
  • eole-lemonldap-ng-amonecole qui est pré configuré pour amonecole

Je ne vois pas l'intérêt de séparer scribe et amonecole (surtout dans l'idée de rapprochement des 2 modules).
De plus tout pourrait être géré dans eole-lemonldap-ng.

=> Simplifier l'installation de lemonldap en proposant qu'une variante qui s'adapte à la situation.

- complexité inutile dans la configuration de Lemonldap : il faut obligatoire 3 noms de domaines (un domaine pour le portail, un domaine pour configurer le serveur et un domaine pour recharger la configuration en cas de cluster). Seul le premier domaine est utilisé dans notre cas. Il n'y a pas de raison que l'utilisateur aille changer la configuration (s'il le fait, la configuration EOLE n'est plus prise en compte).

=> simplifier la configuration de lemonldap en supprimant le service de configuration et de reload de lemonldap.

#4 Mis à jour par Emmanuel GARETTE il y a presque 2 ans

  • Statut changé de Nouveau à Résolu
  • Début mis à 29/04/2022
  • % réalisé changé de 0 à 100

#5 Mis à jour par Daniel Dehennin il y a presque 2 ans

Emmanuel GARETTE a écrit :

=> proposition : eole-sso est un paquet commun pour tous les serveurs SSO (plus simple pour la compatibilité Envole)
L'utilisateur devra choisir entre eole-sso-server et eole-lemonldap-ng.

OK: eole-sso fourni les quelques variables communes aux deux services

L'installation de ces deux paquets sont exclusives

L’instance doit déjà installer des paquets pour le conteneur addc, cela ne pose pas de soucis d’installer un paquet supplémentaire, cependant, je ne crois pas qu’il y ait de support de packagelist dans creole afin de choisir quoi installer durant l’instance, ni supprimer l’un si l’on passe à l’autre.

- eole-lemonldap-ng est découpé artificiellement en 3 paquets :

  • eole-lemonldap-ng qui n'est pas pré configuré
  • eole-lemonldap-ng-scribe qui est pré configuré pour scribe
  • eole-lemonldap-ng-amonecole qui est pré configuré pour amonecole

Je ne vois pas l'intérêt de séparer scribe et amonecole (surtout dans l'idée de rapprochement des 2 modules).
De plus tout pourrait être géré dans eole-lemonldap-ng.

Ce découpage est historique :

  1. nous avons importé le code de la forge Cadoles qui fournit un LemonLDAP « générique »
  2. nous avons fourni un dictionnaire pour préconfigurer le service sur Scribe, avec Lemonldap::NG::Portal::Auth::ScribeAD qui gère la différence de DN entre OpenLDAP et Samba AD

=> Simplifier l'installation de lemonldap en proposant qu'une variante qui s'adapte à la situation.

Si cela fait des dictionnaires et templates plus simples et faciles à gérer => OK mais cela permet-il d’avoir un LemonLDAP générique non lié à Scribe ?

- complexité inutile dans la configuration de Lemonldap : il faut obligatoire 3 noms de domaines (un domaine pour le portail, un domaine pour configurer le serveur et un domaine pour recharger la configuration en cas de cluster). Seul le premier domaine est utilisé dans notre cas. Il n'y a pas de raison que l'utilisateur aille changer la configuration (s'il le fait, la configuration EOLE n'est plus prise en compte).

=> simplifier la configuration de lemonldap en supprimant le service de configuration et de reload de lemonldap.

Tant que cela fonctionne toujours, à voir si cela peut poser des problèmes aux utilisateurs de la solution LemonLDAP « générique ».

#6 Mis à jour par Gilles Grandgérard il y a presque 2 ans

Vu en visio :

Ajouter une variable experte 'activer les fonctionnalité avancé de LemonLdap NG' (defaut =non)
si oui, activer le manager + reload
si non, désactiver le manager + reload

#7 Mis à jour par Daniel Dehennin il y a presque 2 ans

Ce découpage est historique :
[…]

Le découpage est conservé dans une moindre mesure :

  1. un paquet « générique » eole-lemonldap-ng qui nécessite de saisir toutes les informations au fonctionnement
  2. un paquet « EOLE » qui préremplie les variables en fonction du contexte

Il s’agit donc de fusionner les paquet eole-lemonldap-ng-scribe et eole-lemonldap-ng-amonecole.

L’instance doit déjà installer des paquets pour le conteneur addc, cela ne pose pas de soucis d’installer un paquet supplémentaire, cependant, je ne crois pas qu’il y ait de support de packagelist dans creole afin de choisir quoi installer durant l’instance, ni supprimer l’un si l’on passe à l’autre.

L’idée retenue est :

  1. le paquet eole-sso a une dépendance eole-sso-server | eole-lemonldap-ng qui installe par défaut eole-sso-server
  2. les utilisateurs souhaitant utiliser LemonLDAP::NG installeront le paquet eole-lemonldap-ng pour leur module, le paquet eole-sso-server sera désinstallé par le jeu de dépendance de paquet (dpkg)

#8 Mis à jour par Gilles Grandgérard il y a presque 2 ans

  • Tâche parente #33975 supprimé

#9 Mis à jour par Gilles Grandgérard il y a presque 2 ans

  • Tracker changé de Tâche à Scénario
  • Description mis à jour (diff)
  • Echéance mis à 06/05/2022

#10 Mis à jour par Gilles Grandgérard il y a presque 2 ans

  • Echéance 06/05/2022 supprimé
  • Version cible Prestation Cadoles MEN 2022 16-18 supprimé
  • Début 29/04/2022 supprimé

#11 Mis à jour par Joël Cuissinat il y a presque 2 ans

  • Sujet changé de EOLE 2.9 : scribe traceback impossible de redéfinir 'eolesso_ad' à Discussions sur la mise en oeuvre d'EoleSSO et de LemonLDAP en 2.9
  • Tâche parente mis à #33975

#12 Mis à jour par Joël Cuissinat il y a presque 2 ans

  • Lié à Scénario #34126: EOLE 2.9 : Modifier les dépendances eole-sso et en (re)faire un paquet générique ajouté

#13 Mis à jour par Joël Cuissinat il y a presque 2 ans

#14 Mis à jour par Joël Cuissinat il y a presque 2 ans

  • Lié à Scénario #34127: EOLE 2.9 : Ajouter une variable experte 'Activer les fonctionnalités avancées de LemonLdap::NG' ajouté

#15 Mis à jour par Joël Cuissinat il y a presque 2 ans

  • Statut changé de Résolu à Fermé
  • Assigné à mis à developpeurs_eole
  • Début mis à 04/05/2022
  • Restant à faire (heures) mis à 0.0

Formats disponibles : Atom PDF