Development #51267
ne pas avoir les erreurs des tests dans les logs système
0%
Description
prometheus remonte une erreur sur le serveur jenkins, et c'est :
$ ssh jenkins.entrouvert.org sudo journalctl --priority=3 --since=-15min -- Logs begin at Wed 2021-02-17 01:17:05 CET, end at Thu 2021-02-18 18:13:27 CET. -- fév 18 18:04:52 jenkins py.test[8188]: authentic2-multitenant ERROR authentic.example.net - - - error in provisionning thread Traceback (most recent call last): File "/tmp/tox-jenkins/hobo/py3-django111-authentic/lib/python3.7/site-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params)
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Projet changé de Admin système à Hobo
C'est les tests hobo qu'il faut modifier.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0001-tests-disable-syslog-logging-handler-51267.patch 0001-tests-disable-syslog-logging-handler-51267.patch ajouté
- Tracker changé de Support à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de En cours à Solution proposée
Mis à jour par Nicolas Roche il y a presque 3 ans
(je ne pige pas, je n'arrive pas à reproduire en local, je veux dire que je n'arrive même plus à générer un warning dans les logs via le code comme par exemple pour imiter un $ logger coucou
en shell)
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
Nicolas Roche a écrit :
(je ne pige pas, je n'arrive pas à reproduire en local, je veux dire que je n'arrive même plus à générer un warning dans les logs via le code comme par exemple pour imiter un
$ logger coucou
en shell)
Ça ne concerne que test_multitenant et test_multipublik à cause de :
bdauvergne@revestel:~/wd/eo/hobo$ git grep -B2 debian_config_common tests* tests_multipublik/settings.py-with patch.object(builtins, 'open', mock_open(read_data=b'xxx')): tests_multipublik/settings.py- exec(open_backup(os.path.join(os.path.dirname(__file__), tests_multipublik/settings.py: '../debian/debian_config_common.py')).read()) -- tests_multitenant/settings.py-with patch.object(builtins, 'open', mock_open(read_data=b'xxx')): tests_multitenant/settings.py- exec(open_backup(os.path.join(os.path.dirname(__file__), tests_multitenant/settings.py: '../debian/debian_config_common.py')).read())
Tu as vérifié dans ces environnements ?
Mis à jour par Nicolas Roche il y a presque 3 ans
Tu as vérifié dans ces environnements ?
Non, je me suis mis dans l'environnement par défaut.
En fait, pour valider je cherche à d'abord à reproduire le warning généré par les tests :
hobo/agent/authentic2/provisionning.py: logger.exception(u'error in provisionning thread')
ex:
$ git diff -U1 diff --git a/tests/test_home_views.py b/tests/test_home_views.py index 29adc5e..590659e 100644 --- a/tests/test_home_views.py +++ b/tests/test_home_views.py @@ -25,2 +25,6 @@ def test_home_view(app, admin_user): + import logging + logger = logging.getLogger(__name__) + logger.exception('coucou') +
puis
$ tox -e py3-django22-coverage-hobo -- tests/test_home_views.py::test_home_view
mais ça n'affiche rien nul part.
Est-ce que tu peux me donner un peu plus de contexte, stp ?
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
Ça n'arrive pas dans l'environnement hobo parce que debian_config_common n'est pas chargé, je ne pointe pas les autre environnements pour rien :) Lance juste les environnements que j'ai pointé, tu verras des choses dans journalctl ou syslog.
Mis à jour par Nicolas Roche il y a presque 3 ans
Pas mieux, je dois encore rater quelque-chose.
$ git diff -U1 tests_multitenant/test_logger.py diff --git a/tests_multitenant/test_logger.py b/tests_multitenant/test_logger.py index fbc3780..9f21195 100644 --- a/tests_multitenant/test_logger.py +++ b/tests_multitenant/test_logger.py @@ -114 +114,4 @@ def test_clamp_log_level(caplog): assert caplog.records[-1].levelname == 'WARNING' + + logger = logging.getLogger(__name__) + logger.exception('coucou') $ tox -e py3-django22-coverage-multitenant -- tests_multitenant/test_logger.py::test_clamp_log_level
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Assigné à changé de Benjamin Dauvergne à Nicolas Roche
Je dis des bêtises, donc à reprendre la description du ticket c'est dans les tests authentic, py3-django111-authentic
.
Mis à jour par Nicolas Roche il y a presque 3 ans
Merci je reproduis.
Cependant j'ai l'impression que le patch ne retirera pas l'erreur :
$ git diff -U1 diff --git a/tests_authentic/test_provisionning.py b/tests_authentic/test_provisionning.py index f817743..db27c5c 100644 --- a/tests_authentic/test_provisionning.py +++ b/tests_authentic/test_provisionning.py @@ -741 +741,7 @@ def test_provisionning_api(transactional_db, app_factory, tenant, settings, capl assert resp.json['leftover_audience'] + +def test_nico(): + import logging + logger = logging.getLogger(__name__) + logger.exception('coucou') $ sudo journalctl -f $ tox -e py3-django111-authentic -- tests_authentic/test_provisionning.py mai 31 15:51:25 nico py.test[1096477]: authentic2-multitenant ERROR - - - - coucou mai 31 15:50:24 nico py.test[1095714]: authentic2-multitenant ERROR authentic.example.net 127.0.0.1 - r:7FB00A5C1790 error provisionning to http://other.example.net/metadata/ () mai 31 15:50:24 nico py.test[1095714]: authentic2-multitenant ERROR authentic.example.net 127.0.0.1 - r:7FB00A5C1790 error provisionning to http://more.example.net/metadata/ ()
Peut-être quelque-chose en plus comme ça ?
$ git diff -U1 debian/debian_config_common.py diff --git a/debian/debian_config_common.py b/debian/debian_config_common.py index 1b33208..7174c58 100644 --- a/debian/debian_config_common.py +++ b/debian/debian_config_common.py @@ -184,3 +184,3 @@ LOGGING = { '': { - 'level': 'DEBUG', + 'level': 'CRITICAL', 'filters': ['request_context'],
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Statut changé de Solution proposée à En cours
Nicolas Roche a écrit :
Merci je reproduis.
Cependant j'ai l'impression que le patch ne retirera pas l'erreur :
[...]Peut-être quelque-chose en plus comme ça ?
[...]
Ah ben oui clairement ça ne marche pas :)
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Assigné à changé de Nicolas Roche à Benjamin Dauvergne
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Fichier 0001-tests-disable-syslog-logging-handler-51267.patch 0001-tests-disable-syslog-logging-handler-51267.patch ajouté
- Statut changé de En cours à Solution proposée
Comme cela ça marche (erreur dans le test os.environ(...) == 1
).
Mis à jour par Nicolas Roche il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 0f8fe2827435e72a46237113541bf212f05c675c Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Feb 19 08:47:45 2021 +0100 tests: disable syslog logging handler (#51267)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: disable syslog logging handler (#51267)