Projet

Général

Profil

Tâche #33016

Scénario #32539: Intégrer l'éxécution du script 24-ad-dc-ou dans l'EAD3

Erreur salt API toujours visible dans les logs

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
20/08/2021
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

Comme le proposait Ludwig dans #32950#note-3, j'ai lancé journalctl -xfe en parallèle de l'action et je me suis aperçu que l'erreur normalement corrigée par #32213 était toujours présente alors que j'ai bien le paquet ewt-portal 2.8.1-1 ...


   [ ... ]

août 20 16:29:35 scribe salt-minion-ead3[40717]: dn: CN=c32e6,CN=Users,DC=domscribe,DC=ac-test,DC=fr
août 20 16:29:35 scribe salt-minion-ead3[40666]: * Aucun ordinateur à classer
août 20 16:29:35 scribe salt-minion-ead3[40666]: * Classification OU: 'MesOrdis'
août 20 16:29:42 scribe imapd[34350]: Connection, ip=[::ffff:192.168.0.26]
août 20 16:29:42 scribe imapd[34350]: Disconnected, ip=[::ffff:192.168.0.26], time=0
août 20 16:29:50 scribe salt-api-ead3[34604]: [ERROR   ] Uncaught exception POST / (127.0.0.1)
août 20 16:29:50 scribe salt-api-ead3[34604]: HTTPServerRequest(protocol='http', host='127.0.0.1', method='POST', uri='/', version='HTTP/1.0', remote_ip='127.0.0.1', headers={'Host': '127.0.0.1', 'X-Real-Ip': '10.100.1.2', 'X-Forwarded-For': '10.100.1.2, 10.100.1.2', 'Connection': 'close', 'Content-Length': '66', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0', 'Accept': '*/*', 'Accept-Language': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate, br', 'Referer': 'https://scribe.ac-test.fr/ead/run_action.html?action=sortclient', 'Content-Type': 'application/json', 'X-Auth-Token': '4e804582020c2c0619c47b5666bf5e7705905bd4e7070f4d18a2a39eeb0b44ed', 'Origin': 'https://scribe.ac-test.fr', 'Cookie': 'ead2style=main1.css; TWISTED_SECURE_SESSION=40fc43d5fb1e54ecf6bc09bbd59a5be5f6119dd1f92b2b21aa033e27911e5aac; TWISTED_SESSION=fe77be1af4d24552e8c136d6f5b6ac5c; EoleSSOServer=TGC-scribeac-testfr-af9c85841fb171b090d387c9ee30d536785fb4652bde4ddc85358df8; roundcube_sessid=g15ctifgrm3647i9a1evofg1o7; session_id=4e804582020c2c0619c47b5666bf5e7705905bd4e7070f4d18a2a39eeb0b44ed; bareos=d172u7r2m4jtmnh2kg1ep27022; user_cas_enforce_authentication=0; user_cas_redirect_url=%252Fnextcloud%252F; nineboard=88ive775ggm9ib5bfbb0rnkgee; ninegate=4i8l8ig3qivbeka37jqk4imt2p; nineschool=uhc035iqk2t70i0o38g6htf0fm; eoe_session=eoe:b83dd418-3d50-4d6b-b893-9847ecb4f5fc!tz4qDJGgJ64flf/LI7Ymy5I5Aos=; eolegenconfig_session=eolegenconfig:cbb6f245-8ae7-4c14-98c7-45b603125918!wGK/cPDmAP+40g3S63Hj3f5D1gg=', 'X-Forwarded-Proto': 'https', 'X-Forwarded-Host': 'scribe.ac-test.fr', 'X-Forwarded-Server': 'domscribe.ac-test.fr'})
août 20 16:29:50 scribe salt-api-ead3[34604]: Traceback (most recent call last):
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "/usr/lib/python3/dist-packages/salt/ext/tornado/web.py", line 1469, in _stack_context_handle_exception
août 20 16:29:50 scribe salt-api-ead3[34604]:     raise_exc_info((type, value, traceback))
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "<string>", line 4, in raise_exc_info
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "/usr/lib/python3/dist-packages/salt/ext/tornado/stack_context.py", line 317, in wrapped
août 20 16:29:50 scribe salt-api-ead3[34604]:     ret = fn(*args, **kwargs)
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "/usr/lib/python3/dist-packages/salt/ext/tornado/gen.py", line 952, in <lambda>
août 20 16:29:50 scribe salt-api-ead3[34604]:     IOLoop.current().call_later(duration, lambda: f.set_result(None))
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "/usr/lib/python3/dist-packages/salt/ext/tornado/concurrent.py", line 290, in set_result
août 20 16:29:50 scribe salt-api-ead3[34604]:     self._set_done()
août 20 16:29:50 scribe salt-api-ead3[34604]:   File "/usr/lib/python3/dist-packages/salt/ext/tornado/concurrent.py", line 333, in _set_done
août 20 16:29:50 scribe salt-api-ead3[34604]:     for cb in self._callbacks:
août 20 16:29:50 scribe salt-api-ead3[34604]: TypeError: 'NoneType' object is not iterable
août 20 16:29:50 scribe salt-api[34604]: 2021-08-20 16:29:50,188 [tornado.application:1591][ERROR   ][34604] Uncaught exception POST / (127.0.0.1)
                                          HTTPServerRequest(protocol='http', host='127.0.0.1', method='POST', uri='/', version='HTTP/1.0', remote_ip='127.0.0.1', headers={'Host': '127.0.0.1', 'X-Real-Ip': '10.100.1.2', 'X-Forwarded-For': '10.100.1.2, 10.100.1.2', 'Connection': 'close', 'Content-Length': '66', 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0', 'Accept': '*/*', 'Accept-Language': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate, br', 'Referer': 'https://scribe.ac-test.fr/ead/run_action.html?action=sortclient', 'Content-Type': 'application/json', 'X-Auth-Token': '4e804582020c2c0619c47b5666bf5e7705905bd4e7070f4d18a2a39eeb0b44ed', 'Origin': 'https://scribe.ac-test.fr', 'Cookie': 'ead2style=main1.css; TWISTED_SECURE_SESSION=40fc43d5fb1e54ecf6bc09bbd59a5be5f6119dd1f92b2b21aa033e27911e5aac; TWISTED_SESSION=fe77be1af4d24552e8c136d6f5b6ac5c; EoleSSOServer=TGC-scribeac-testfr-af9c85841fb171b090d387c9ee30d536785fb4652bde4ddc85358df8; roundcube_sessid=g15ctifgrm3647i9a1evofg1o7; session_id=4e804582020c2c0619c47b5666bf5e7705905bd4e7070f4d18a2a39eeb0b44ed; bareos=d172u7r2m4jtmnh2kg1ep27022; user_cas_enforce_authentication=0; user_cas_redirect_url=%252Fnextcloud%252F; nineboard=88ive775ggm9ib5bfbb0rnkgee; ninegate=4i8l8ig3qivbeka37jqk4imt2p; nineschool=uhc035iqk2t70i0o38g6htf0fm; eoe_session=eoe:b83dd418-3d50-4d6b-b893-9847ecb4f5fc!tz4qDJGgJ64flf/LI7Ymy5I5Aos=; eolegenconfig_session=eolegenconfig:cbb6f245-8ae7-4c14-98c7-45b603125918!wGK/cPDmAP+40g3S63Hj3f5D1gg=', 'X-Forwarded-Proto': 'https', 'X-Forwarded-Host': 'scribe.ac-test.fr', 'X-Forwarded-Server': 'domscribe.ac-test.fr'})
                                          Traceback (most recent call last):
                                            File "/usr/lib/python3/dist-packages/salt/ext/tornado/web.py", line 1469, in _stack_context_handle_exception
                                              raise_exc_info((type, value, traceback))
                                            File "<string>", line 4, in raise_exc_info
                                            File "/usr/lib/python3/dist-packages/salt/ext/tornado/stack_context.py", line 317, in wrapped
                                              ret = fn(*args, **kwargs)
                                            File "/usr/lib/python3/dist-packages/salt/ext/tornado/gen.py", line 952, in <lambda>
                                              IOLoop.current().call_later(duration, lambda: f.set_result(None))
                                            File "/usr/lib/python3/dist-packages/salt/ext/tornado/concurrent.py", line 290, in set_result
                                              self._set_done()
                                            File "/usr/lib/python3/dist-packages/salt/ext/tornado/concurrent.py", line 333, in _set_done
                                              for cb in self._callbacks:
                                          TypeError: 'NoneType' object is not iterable

Révisions associées

Révision cfb747db (diff)
Ajouté par Emmanuel GARETTE il y a plus de 2 ans

evite les erreurs EAD (ref #33016)

Révision 95bd0325 (diff)
Ajouté par Emmanuel GARETTE il y a plus de 2 ans

evite les erreurs EAD (ref #33016)

Cherry-picked from eole-saltstack:commit:cfb747db for EOLE 2.8.0

Historique

#1 Mis à jour par Matthieu Lamalle il y a plus de 2 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Matthieu Lamalle il y a plus de 2 ans

Le traceback n'est pas lié à l'action en elle-même.
Il apparaît aussi sur les autres action (ex: Reconfigurer) lorsqu'on y accède

#3 Mis à jour par Emmanuel GARETTE il y a plus de 2 ans

  • Statut changé de En cours à À valider
  • Assigné à mis à Emmanuel GARETTE
  • % réalisé changé de 0 à 100

C'est un bug profond entre salt-api et tornado.
Je ne sais pas bien qui en est la cause mais :

Le "Future" est exécuté dans la fonction "_disbatch_local" de /usr/lib/python3/dist-packages/salt/netapi/rest_eole/saltnado.py mais également, au bout d'un moment dans la loop principale de tornado.

Hors lors de l'exécution dans "_disbatch_local" il "termine" la tâche. Lors qu'elle est exécuter dans la loop de tornado elle est déjà exécuté et ca plante

Je ne vois pas comment résoudre ce problème proprement.

J'ai donc rajouter une liste de callbacks vide pour qu'à la seconde exécution il ne fasse rien.

#4 Mis à jour par Emmanuel GARETTE il y a plus de 2 ans

Pour tester, démarrer un scribe aca.

Aller dans l'ead3 : https://scribe.ac-test.fr/ead/ puis sur le groupe "Tâches planifiées".

Cliquer sur la 1er action. Lors qu'elle est afficher, revenir sur le groupe. Cliquer ensuite sur la 2eme actions.

L'erreur apparait parfois 1 minutes après. Elle ne devrait plus apparaitre

#5 Mis à jour par Ludwig Seys il y a plus de 2 ans

  • Statut changé de À valider à Résolu

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

~/git/eole-saltstack$ git branch -r --contains cfb747db  
  origin/HEAD -> origin/master
  origin/dist/eole/2.8.1/master
  origin/master

Le contournement me semble efficace...

Pourquoi pas le rétro-porter ?

  • je viens de tester en 2.7.2, on ne voit pas de traceback dans les logs ;)c
  • par contre en 2.8.0, on a le même traceback !

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

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

Semble OK avec le paquet eole-ead3-saltstack (2.8.0-6)

Formats disponibles : Atom PDF