Project

General

Profile

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

Added by Joël Cuissinat 5 months ago. Updated 5 months ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
08/20/2021
Due date:
% Done:

100%

Remaining (hours):
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

Associated revisions

Revision cfb747db (diff)
Added by Emmanuel GARETTE 5 months ago

evite les erreurs EAD (ref #33016)

Revision 95bd0325 (diff)
Added by Emmanuel GARETTE 5 months ago

evite les erreurs EAD (ref #33016)

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

History

#1 Updated by Matthieu Lamalle 5 months ago

  • Status changed from Nouveau to En cours

#2 Updated by Matthieu Lamalle 5 months ago

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 Updated by Emmanuel GARETTE 5 months ago

  • Status changed from En cours to À valider
  • Assigned To set to Emmanuel GARETTE
  • % Done changed from 0 to 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 Updated by Emmanuel GARETTE 5 months ago

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 Updated by Ludwig Seys 5 months ago

  • Status changed from À valider to Résolu

#6 Updated by Joël Cuissinat 5 months ago

~/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 Updated by Joël Cuissinat 5 months ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0

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

Also available in: Atom PDF