Projet

Général

Profil

Anomalie #5494

Plantages possibles à cause du reload de creoled !

Ajouté par Joël Cuissinat il y a presque 11 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
05/09/2013
Echéance:
06/09/2013
% réalisé:

100%

Temps estimé:
1.00 h
Temps passé:
Distribution:
EOLE 2.4

Description

run-parts: executing /usr/share/eole/posttemplate/00-annuaire instance
root - HTTP error: socket.error: Can't connect to ('127.0.0.1', 8000)
root - HTTP error: socket.error: Can't connect to ('127.0.0.1', 8000)
/usr/share/eole/posttemplate/00-annuaire: ligne 6 : [: = : opérateur unaire attendu

Ici la synchronisation du mot de passe ldap n'est pas réalisée et cela entraîne des dysfonctionnements en cascade :)

Révisions associées

Révision 295d868c (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

Ajout d’un pluging « InotifyMonitor » pour « cherrypy »

  • pyeole/cherrypy_plugins.py: Le plugin « InotifyMonitor » lance un
    « pyinotify.TheadedNotifier ».

Ref: #5494 @1h

Révision ff1af231 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

Recharger la configuration « CreoleServer » sans arrêter « creoled »

Utilisation du plugin « pyeole.cherrypy_plugins.InotifyMonitor » afin de
recharger la configuration sans arrêter le processus « cherrypy ».

  • creole/server.py (_inotify_filter): Filtre les événements inotify.
    (CreoleInotifyHandler): Gestionaire d’événements inotify.
    (CreoleDaemon.run): Simplification du code du fait du passage à
    inotify.

Fixes: #5494 @3h

Révision 17176549 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

Le thread inotify plante si le reload de la configuration plante

  • creole/server.py (CreoleInotifyHandler): Intercépter les exceptions
    levées par le reload de la configuration.
    (CreoleServer.reload_config): Ne pas concaténer un message unicode avec
    un message d’exception pouvant être n’importe quoi.

Ref: #5494 @45m

Révision 57f50216 (diff)
Ajouté par Daniel Dehennin il y a plus de 10 ans

Le client creole plante sur l’appel du reload creoled

Les méthodes « cherrypy » doivent retourner la réponse afin de l’envoyer
au client.

  • creole/server.py (CreoleServer.reload_config): Ajout des « return ».

Ref: #5494

Historique

#1 Mis à jour par Emmanuel GARETTE il y a presque 11 ans

Le timeout est trop court ou creoled n'est pas redémarré ?

#2 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible changé de Eole 2.4-dev-3 à Eole 2.4-alpha

#3 Mis à jour par Daniel Dehennin il y a plus de 10 ans

L’idéal serait de faire un nouveau plugin basé sur Autoreloader.

Au lieu de redémarrer le thread automatiquement, l’activation de ce nouveau plugin devrait prendre un callback:

engine = cherrypy.engine
server = CreoleServer()

cherrypy.tree.mount(server, self.option.mount_base,
                    config={'global' : {} })
# [...]
# Load plugins

## reload server on inotify
# Reload on values
_autoreload_files = set(self._list_dirs(configeoldir, pattern='*.eol'))

# Reload on creole XML definitions
_autoreload_files.add(dirname(configeol))
_autoreload_files.update(set(self._list_dirs(eoledirs)))
_autoreload_files.add(eoleextradico)

creole.cherrypy.plugins.InotifyReloader(engine, _autoreload_files, server.reload).subscribe()

#4 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Echéance mis à 06/09/2013
  • Statut changé de A étudier à Accepté
  • Assigné à mis à Daniel Dehennin
  • Début mis à 05/09/2013

#5 Mis à jour par Daniel Dehennin il y a plus de 10 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#6 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Version cible changé de Eole 2.4-alpha à Eole 2.4-alpha2

changement de roadmap car pas assez de recul pour qualifier :)

#7 Mis à jour par Joël Cuissinat il y a plus de 10 ans

  • Statut changé de Résolu à Fermé

Problèmes de ce genre non reproduits récemment :)

Formats disponibles : Atom PDF