Tâche #16862
Distribution EOLE - Scénario #16962: Traitement express MEN (36-38)
Erreur bizarre au reconfigure
Description
Je n'arrive pas a reproduire à chaque fois, mais j'ai eu plusieurs fois l'erreur suivante :
run-parts: executing /usr/share/eole/posttemplate/02-annuaire reconfigure Start Systemd service slapd [ OK ] Result: Other (e.g., implementation specific) error (80)
Une façon quasi sûr de reproduire :
- démarrage de aca.eolebase
- Maj-Auto D apt-get install eole-annuaire
- reconfigure
- instance (avec reboot)
- reconfigure
Révisions associées
gestion du redémarrage des services et de l'arrêt de slapd au moment du reconfigure (ref #16862 @1h)
ne remplacer /var/lib/ldap/DB_CONFIG que si le fichier est nouveau (évite le recovery de slapd) (ref #16862 @1h)
Modification du code pour le mode conteneur
- dicos/23_annuaire.xml : DB_CONFIG dans /tmp du maître
- posttemplate/00-annuaire :
- pas d'erreur si cible inexistante
- la cible est dans le conteneur
- à faire uniquement si annuaire local
Ref: #16862 @1h
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Tracker changé de Demande à Tâche
- Temps estimé mis à 2.00 h
- Tâche parente mis à #16726
- Restant à faire (heures) mis à 7.0
#2 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Assigné à mis à Emmanuel GARETTE
- % réalisé changé de 0 à 80
- Restant à faire (heures) changé de 7.0 à 1.0
J'ai fini par trouver pourquoi il y avait cette erreur.
En posttemplate, le script 00-annuaire lance le script ldap_pwd.py
Ce script "restart" slapd alors que celui-ci n'est pas démarré !
Le script posttemplate/02-annuaire supprime l'annuaire alors que le démon tourne. slapd doit ainsi corrrompre ces fichiers.
Deux choses à faire :
- ne pas démarrer le démon dans ldap_pwd.py s'il n'est pas déjà démarré ;
- arrêter les démons dans tous les cas dans 02-annuaire.
Voir sur quelle version il faut faire les changements.
#3 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
Autre problème, à chaque templatisation du fichier, il y a un "recovery" qui est fait sur la base :
root@scribe:~# CreoleCat -t DB_CONFIG root@scribe:~# /usr/share/eole/posttemplate/02-annuaire reconfigure 57b6d533 bdb_db_open: DB_CONFIG for suffix "o=gouv,c=fr" has changed. 57b6d533 Performing database recovery to activate new settings. 57b6d533 bdb_db_open: database "o=gouv,c=fr": recovery skipped in read-only mode. Run manual recovery if errors are encountered. Start Systemd service slapd [ OK ]
Ce "recovery" n'est pourtant pas nécessaire la plupart des cas.
#4 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 80 à 100
#5 Mis à jour par Emmanuel GARETTE il y a plus de 7 ans
- Restant à faire (heures) changé de 1.0 à 0.25
#6 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Tâche parente changé de #16726 à #16720
#7 Mis à jour par Joël Cuissinat il y a plus de 7 ans
Deux problèmes :
- warning à la 1ère instance
run-parts: executing /usr/share/eole/posttemplate/00-annuaire instance diff: /var/lib/ldap/DB_CONFIG: Aucun fichier ou dossier de ce type
- mode conteneur non géré (fichier envoyé dans le /tmp du conteneur...) !
root@amonecole:~# CreoleCat -dt DB_CONFIG Instanciation du fichier '/tmp/DB_CONFIG' depuis '/var/lib/creole/DB_CONFIG' Copie du template '/usr/share/eole/creole/distrib/DB_CONFIG' vers '/var/lib/creole' Traitement Cheetah : '/var/lib/creole/DB_CONFIG' vers '/var/lib/lxc/bdd/rootfs/tmp/DB_CONFIG' Changement des propriétés : chown root:root /tmp/DB_CONFIG Changement des propriétés : chmod 0644 /tmp/DB_CONFIG
#8 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Tâche parente changé de #16720 à #16962
#9 Mis à jour par Laurent Flori il y a plus de 7 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.25 à 0.0