Project

General

Profile

Anomalie #5494

Plantages possibles à cause du reload de creoled !

Added by Joël Cuissinat about 7 years ago. Updated over 6 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 over 6 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 over 6 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 over 6 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 over 6 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 almost 7 years ago

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

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

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

#3 Updated by Daniel Dehennin almost 7 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 over 6 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 over 6 years ago

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

#6 Updated by Joël Cuissinat over 6 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 over 6 years ago

  • Status changed from Résolu to Fermé

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

Also available in: Atom PDF