Création de comptes et groupes en masse

,

Bonjour,

Yunohost version : 3.7.7.1
Machine virtuelle Proxmox

J’utilise actuellement un YunoHost avec 700 comptes et 26 groupes autres que ceux de YunoHost. Ces comptes et groupes avaient été créés avec un script qui attaquait directement ldap.
Suite à la mise à jour en version 3.7.1 tous les groupes ont été supprimés. Les nouvelles tentatives de création de groupes ont échoué et plus aucune opération YunoHost de création de compte ou de modification ne fonctionne. Seule la création de groupe abouti tout en indiquant qu’elle a échoué.

Le script de création de comptes est là et a priori fonctionnel :
https://github.com/ObaniGemini/YunoHost-accounts_generation.

J’ai installé un nouveau serveur pour pouvoir tester et débugguer le script de création de comptes. Il y a plusieurs problèmes.
1 le caractère - n’est pas autorisé dans les identifiants. En modifiant la règle de vérification en mettant [a-z0-9_-] ça passe.
2 les utilisateurs ne peuvent pas avoir un nom qui commence par une lettre seule. Comme N’Diaye ou N’Guyen. L’apostrophe est souvent remplacée par un _ qui n’est pas non plus autorisé. Y-at’il une raison particulière à cela ?
3 actuellement, lors de la création de compte, beaucoup de vérifications sont faites. Ce qui est logique pour une création unitaire. Mais dans le cas d’une création en masse, cela ralentit beaucoup le processus. De quasi instantané avec des commandes ldap, on passe à plusieurs dizaines de minutes.
4 un message est affiché concernant le mot de passe, à chaque création. Là encore ralentissement.
5 trois fichiers de logs sont créés à chaque création de compte.
6 au bout d’un certain temps, ça échoue. Pour mon test d’hier, le 584ième compte n’est pas créé ni les suivants parce qu’il n’arrive plus à peupler le groupe all_users. J’avais mis le SizeLimit à 2000 dans templates/slapd/slapd.conf. Je ne vois pas de spécificité entre le 583ième et 584ième compte qui justifierai cet échec. Sur le serveur de production, en quasi panne, une requête ldapsearch sur all_users ne renvoie aucune erreur alors que les requêtes yunohost user échouent.

Je suis preneur de toute idée pour avancer. :slight_smile:

lmds

1 Like

Salut,

Je suis dans la mm problématique toi, et j’ai aussi pondu un script
J’ai fait ça par batch de max 150 et effectivement j’ai été surpris de la longueur d’exécution, mais a part le mapsize limite (tu pourrais mettre bien plus que 2000) je n’ai pas eu de problèmes
Tu n’as pas de message d’erreur ? Les logs disent quoi ?
peut-être que tu y trouveras des trucs

1 Like

Bonjour,

Tu n’as pas de message d’erreur ? Les logs disent quoi ?

Il faut que je fasse un nouvel import avec le serveur de test.
Je n’y avais rien trouvé de parlant. Mais je regarde à nouveau.

J’en suis a 415 users et tout ce passe bien
Moi ça plante au 584ième compte. :slight_smile:

Sinon, on regarde pour adapter le script en utilisant des fonctions de moulinette plutôt que les commandes yunohost user… qui prennent trop de temps.