Projet

Général

Profil

Tâche #10085

Distribution EOLE - Scénario #9969: Assistance aux utilisateurs (50-51)

Etude des problèmes rencontrés sur le Zéphir de l'académie de Nantes

Ajouté par Bruno Boiget il y a plus de 9 ans. Mis à jour il y a environ 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
03/10/2014
Echéance:
% réalisé:

0%

Temps estimé:
4.00 h
Temps passé:
Restant à faire (heures):
0.0

Description

j'ai été contacté par Guillaume Pitard et Christophe Deze pour des problèmes de plantage réguliers du backend Zéphir.

Il semblerait que le problème soit lié à la présence de valeurs nulles dans certains configurations de serveur 2.4.

cela provoque à priori des erreurs au niveau de la lib lxml (il semble qu'il manquait un 'obligatoire' sur une la variable

Christophe a aussi repéré la valeur suivante dans une configuration de migration d'un serveur 2.2: "nom_host_dns": {"owner": "zephir", "val": [null]}

Dec 15 08:14:24 zephir zephir_backend: [-]   File "/usr/lib/pymodules/python2.6/creole3/lxml_parser.py", line 21, in parse_xml_file
Dec 15 08:14:24 zephir zephir_backend: [-]     document = etree.iterparse(filename, events=('end',), tag='creole')
Dec 15 08:14:24 zephir zephir_backend: [-]   File "iterparse.pxi", line 420, in lxml.etree.iterparse.__init__ (src/lxml/lxml.etree.c:85799)
Dec 15 08:14:24 zephir zephir_backend: [-]   File "parser.pxi", line 746, in lxml.etree._BaseParser._getPushParserContext (src/lxml/lxml.etree.c:65817)
Dec 15 08:14:24 zephir zephir_backend: [-]   File "iterparse.pxi", line 449, in lxml.etree.iterparse._createContext (src/lxml/lxml.etree.c:86004)
Dec 15 08:14:24 zephir zephir_backend: [-]   File "iterparse.pxi", line 123, in lxml.etree._IterparseContext._setEventFilter (src/lxml/lxml.etree.c:83205)
Dec 15 08:14:24 zephir zephir_backend: [-]   File "iterparse.pxi", line 30, in lxml.etree._buildIterparseEventFilter (src/lxml/lxml.etree.c:82537)
Dec 15 08:14:24 zephir zephir_backend: [-] ValueError: invalid event name '(((((((((((((<NULL>,),),),),),),),),),),),),)'

Différentes pistes ont été suivies (désactivation des threads/ du cache / des fonctions de listing des serveurs en migration) ...

Il faudra vérifier dans la durée si la suppression des valeurs nulles est vraiment la solution au problème.

J'ai aussi repéré un problème récurrent sur la gestion du logger dans les objets creole 2.3 (Edict); mais celui-ci est à priori plus ancien et ne doit pas être la cause des plantages :

[-] #011Traceback (most recent call last): 
[-] #011  File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap
[-] #011    self.__bootstrap_inner()
[-] #011  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
[-] #011    self.run()
[-] #011  File "/usr/lib/python2.6/threading.py", line 484, in run
[-] #011    self.__target(*self.__args, **self.__kwargs)
[-] #011--- <exception caught here> ---
[-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py", line 210, in _worker
[-] #011    result = context.call(ctx, function, *args, **kwargs)
[-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext
[-] #011    return self.currentContext().callWithContext(ctx, func, *args, **kw)
[-] #011  File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext
[-] #011    return func(*args,**kw)
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/uucp_rpc.py", line 1250, in _maj_site
[-] #011    serv.check_maj_status(self.parent.maj_checker)
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 987, in check_maj_status
[-] #011    dico = self.parsedico()
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 473, in parsedico
[-] #011    dico = self.get_config(mode, encode)   
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 371, in get_config
[-] #011    dico = self.check_dict(mode, encode)   
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 431, in check_dict
[-] #011    dico = ZephirDict(dicos, self.confdir, mode, self.version, force_instanciate) 
[-] #011  File "/usr/lib/python2.6/dist-packages/zephir/utils/creolewrap.py", line 95, in __init__
[-] #011    self.dico = EDict(logfile='/dev/null') 
[-] #011  File "/usr/lib/pymodules/python2.6/creole/cfgparser.py", line 75, in __init__
[-] #011    self.log.set_logfile(logfile)
[-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 20, in set_logfile
[-] #011    self.remove_handler()
[-] #011  File "/usr/lib/pymodules/python2.6/creole/log.py", line 38, in remove_handler
[-] #011    self.handler.close()
[-] #011  File "/usr/lib/python2.6/logging/__init__.py", line 828, in close
[-] #011    self.stream.close()
[-] #011exceptions.IOError: close() called during concurrent operation on the same file object.

Historique

#1 Mis à jour par Bruno Boiget il y a plus de 9 ans

  • Temps estimé mis à 0.00 h
  • Restant à faire (heures) mis à 0.0

#2 Mis à jour par Bruno Boiget il y a plus de 9 ans

  • Projet changé de Distribution EOLE à zephir-parc

#3 Mis à jour par Bruno Boiget il y a plus de 9 ans

  • Statut changé de Nouveau à En cours

#4 Mis à jour par Bruno Boiget il y a plus de 9 ans

  • Statut changé de En cours à Résolu

Des problèmes subsistaient au niveau de la récupération de variables de certains serveurs depuis l'API de zéphir (adresse_network_eh1).

Après installation d'un Zéphir de test en version stable pour vérification et recherche d'éventuels problèmes sur le serveur Zéphir de Nantes, une réinstallation des paquets Zéphir + reconfigure semble avoir résolu le problème.

#5 Mis à jour par Bruno Boiget il y a plus de 9 ans

  • Statut changé de Résolu à Fermé

#6 Mis à jour par Joël Cuissinat il y a environ 9 ans

  • Temps estimé changé de 0.00 h à 4.00 h

Formats disponibles : Atom PDF