Projet

Général

Profil

Tâche #21388

Scénario #21165: Traitement express MEN (37-39)

Le timeout du client Creole ne devait pas être dépendant du contexte

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
18/09/2017
Echéance:
% réalisé:

100%

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

Description

Au cours de l'étude de #21375, j'ai constaté que certains programmes (Maj-Auto, reconfigure) avaient un timeout de 15 secondes alors que d'autres (CreoleGet) semblaient ne pas en avoir...

La faute à Zéphir !

>>> import socket
>>> print socket.getdefaulttimeout()
None
>>> from zephir import lib_zephir
>>> print socket.getdefaulttimeout()
15.0

Je proposerais de le fixer dans la "boucle for" déjà modifiée dans creole:f21cee06.
Il faut trouver une valeur adequat (sachant qu'il y a trois essais).


Demandes liées

Lié à Distribution EOLE - Tâche #21375: Étude des erreurs "Maj-Auto - timed out" visibles dans Jenkins Fermé 15/09/2017

Révisions associées

Révision efa10612 (diff)
Ajouté par Joël Cuissinat il y a plus de 6 ans

Utilisation du timeout eventlet pour le client Creole

Ref: #21388

Révision 6ad201b8 (diff)
Ajouté par Joël Cuissinat il y a plus de 6 ans

Update translation

Ref: #21388

Historique

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

  • Statut changé de Nouveau à En cours

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

  • Assigné à mis à Joël Cuissinat

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

  • Restant à faire (heures) changé de 3.0 à 2.0

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

  • % réalisé changé de 0 à 100
  • Restant à faire (heures) changé de 2.0 à 0.25

La méthode de test est la même que celle décrite dans #21375#note-1, ce signalement remplace d'ailleurs le précédent :o

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

  • Lié à Tâche #21375: Étude des erreurs "Maj-Auto - timed out" visibles dans Jenkins ajouté

#6 Mis à jour par Scrum Master il y a plus de 6 ans

  • Statut changé de En cours à Résolu

#7 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Restant à faire (heures) changé de 0.25 à 0.0

#8 Mis à jour par Daniel Dehennin il y a plus de 6 ans

Pour tester :

  1. Arrêter creoled
    service creoled stop
    
  2. Exécuter une boucle d’écoute sur le port 8000
    root@amonecole-eclair:~# for i in {1..10}; do nc -l -p 8000 127.0.0.1; done
    
  3. Exécuter un CreoleGet en mode debug
    root@amonecole-eclair:~# time CreoleGet --debug eole_release
    creole.client - Erreur de connexion '5 seconds', essai 1/3
    creole.client - Erreur de connexion 'socket.error: [Errno 111] ECONNREFUSED', essai 2/3
    creole.client - Erreur de connexion '5 seconds', essai 3/3
    root - Erreur HTTP : le service creoled n'a pas répondu dans les délais
    Traceback (most recent call last):
      File "/usr/bin/CreoleGet", line 114, in main
        output(client.get_creole(var, **kwargs))
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 433, in get_creole
        ret = self.get('/creole', *args, variable=name, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 392, in get
        ret = self.request('/get', path, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 319, in request
        ret = self._request(self.url + command + path, **kwargs)
      File "/usr/lib/python2.7/dist-packages/creole/client.py", line 298, in _request
        raise TimeoutCreoleClientError(msg.format(err))
    TimeoutCreoleClientError: Erreur HTTP : le service creoled n'a pas répondu dans les délais
    
    real    0m14.059s
    user    0m0.132s
    sys    0m0.020s
    

#9 Mis à jour par Daniel Dehennin il y a plus de 6 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF