Project

General

Profile

Anomalie #5494

Plantages possibles à cause du reload de creoled !

Added by Joël Cuissinat over 10 years ago. Updated almost 10 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
09/05/2013
Due date:
09/06/2013
% Done:

100%

Estimated time:
1.00 h
Spent time:
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 :)

Associated revisions

Revision 295d868c (diff)
Added by Daniel Dehennin about 10 years ago

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

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

Ref: #5494 @1h

Revision ff1af231 (diff)
Added by Daniel Dehennin about 10 years ago

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

Revision 17176549 (diff)
Added by Daniel Dehennin almost 10 years ago

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

Revision 57f50216 (diff)
Added by Daniel Dehennin almost 10 years ago

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

History

#1 Updated by Emmanuel GARETTE over 10 years ago

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

#2 Updated by Joël Cuissinat about 10 years ago

  • Target version changed from Eole 2.4-dev-3 to Eole 2.4-alpha

#3 Updated by Daniel Dehennin about 10 years ago

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 Updated by Daniel Dehennin about 10 years ago

  • Due date set to 09/06/2013
  • Status changed from A étudier to Accepté
  • Assigned To set to Daniel Dehennin
  • Start date set to 09/05/2013

#5 Updated by Daniel Dehennin about 10 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#6 Updated by Joël Cuissinat about 10 years ago

  • Target version changed from Eole 2.4-alpha to Eole 2.4-alpha2

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

#7 Updated by Joël Cuissinat almost 10 years ago

  • Status changed from Résolu to Fermé

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

Also available in: Atom PDF