...
On se place ici dans le cadre d'un établissement qui fonctionne avec la version 2.3 de Grouper et qui souhaite opérer une mise à jour de celui-ci.
Avertissement |
---|
Cette documentation et les procédures qui s'y rapportent sont en cours de développement et mise au point. |
Sommaire |
---|
Apports de Grouper 5.x par rapport à la 2.3
Par rapport à la version 2.3 que l'on avait documentée en 2017, la dernière version de Grouper (5.13.0 à l'heure où l'on débute cette documentation) profite d'un certain nombre d'améliorations :
...
Dans le fork esup, nous proposons ces fichiers d'exemple à modifier pour s'adapter à votre ldap notamment :
- grouper/conf/grouper-loader.properties
- grouper/conf/grouper.hibernate.properties
- grouper/conf/grouper.properties
- grouper/conf/morphString.properties
- grouper/conf/subject.properties
Base de données
Un dump et restore postgresql de la base grouper doit pouvoire fonctionner.
...
Le premier démarrage va passer toutes les DDL de manière automatique, grâce à la variable d'environnement GROUPER_AUTO_DDL_UPTOVERSION=v5.. ; vous devrez aussi ensuite lancer la mise à jour de la base de données via l'interface web.
Ldap Provisionning
Passage de PSP au Ldap Provisionning
Une partie des configurations Ldap sont données dans les fichiers (à importer en base de données)
Bloc de code | ||
---|---|---|
| ||
docker ps
docker exec -it dc48872f813a bash
sudo -u tomcat /bin/bash
./bin/gsh.sh
new GrouperPasswordSave().assignApplication(GrouperPassword.Application.WS).assignUsername("monGrouperWsUser").assignPassword("monGrouperWsPassword").save(); |
Ldap Provisionning
Passage de PSP au Ldap Provisionning
Une partie des configurations Ldap sont données dans les fichiers (à importer en base de données)
- https:/https://github.com/EsupPortail/grouper-esup/blob/grouper-esup-5/grouper/conf/grouper-loader.properties
- https://github.com/EsupPortail/grouper-esup/blob/grouper-esup-5/grouper/conf/subject.properties
...
- le premier, de type edu.internet2.middleware.grouper.app.provisioning.ProvisioningConsumer, permet de faire la synchro régulière toutes les minutes la synchro régulière toutes les minutes (en production, nous avons finalement opté pour toutes les 10sec.) ;
- le deuxième, de type edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob, permet de consolider au besoin l'ensemble.
...
Pour chaque dossier 'racine', vous pouvez indiquer que l'ensemble de leurs groupes enfant doivent être reversés dans votre LDAPreversés dans votre LDAP.
Attention, suivant la configuration de votre provisioning, ne pas indiquer de groupes à 'provisioner' peut revenir à dire à grouper de supprimer tous les groupes du ldap (cf la propriété provisioner.ldapGroups.deleteGroupsIfNotExistInGrouper=true donnée dans le fichier grouper-loader.properties ).
Copies d'écran d'interfaces indiquant que les daemons jobs ldap sont fonctionnels
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n n |
Sous docker, la mise en place de cela demandera un peu plus de modifications : surcharge de configurations voire de fichiers et exposition du port (4000 ici).
Consommation CPU
Par rapport à une installation 2.3, qui utilisait notamment PSP pour mettre à jour les groupes vers ldap, la consommation CPU est moindre, alors même que les synchronisations de groupes sont plus réactives.
Sur le graphe ci-dessous, la migration de Grouper 2.3 vers 5 (sous docker) a été opérée le 23 octobre.
Sous docker, la mise en place de cela demandera un peu plus de modifications : surcharge de configurations voire de fichiers et exposition du port (4000 ici).