Projet

Général

Profil

Bug #29786

jenkins : erreur tests systemd

Ajouté par Emmanuel Cazenave il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
15 janvier 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Probablement suite à #23471, d'abord des erreurs de création du virtualenv qui se trouvent résolues par un sudo apt install libsystemd-dev,
puis maintenant une erreur de test proprement dit (https://jenkins.entrouvert.org/job/hobo/1060/console):

_________________________________ test_systemd _________________________________

settings = <pytest_django.fixtures.SettingsWrapper object at 0x7fd435b13c10>
tenants = [<Tenant: tenant1_example_net>, <Tenant: tenant2_example_net>]
client = <django.test.client.Client object at 0x7fd43547d810>
journald_handler = <hobo.journal.JournalHandler object at 0x7fd43547db90>

    def test_systemd(settings, tenants, client, journald_handler):
        root_logger = logging.getLogger()
        assert len(root_logger.handlers) == 2
        journald_handler.addFilter(RequestContextFilter())

        for tenant in tenants:
            with tenant_context(tenant):
                user = User.objects.create(first_name='John', last_name='Doe', username='john.doe',
                                           email='jodn.doe@example.com')
                user.set_password('john.doe')
                user.save()
                user.saml_identifiers.create(name_id='ab' * 16, issuer='https://idp.example.com')

        for tenant in tenants:
            settings.ALLOWED_HOSTS.append(tenant.domain_url)
            with tenant_context(tenant):
                client.login(username='john.doe', password='john.doe')
            client.get('/', SERVER_NAME=tenant.domain_url,
                       HTTP_X_FORWARDED_FOR='99.99.99.99, 127.0.0.1')

        from systemd.journal import Reader
        import time

        reader = Reader()
        reader.seek_realtime(time.time() - 10)
        records = [l for l in reader if l['MESSAGE'] == 'wat!']
>       assert len(records) == 2
E       assert 0 == 2
E        +  where 0 = len([])

tests_multitenant/test_request_context_filter.py:84: AssertionError

Fichiers

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

La machine doit être chargée, je vais changer la façon de faire.

#2

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Voilà, en seekant pile avant l'exécution des tests ça devrait corriger le problème.

#3

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

(J'ai poussé la branche mais comme pas de hobo-wip :( il faudrait le #29776..)

#4

Mis à jour par Emmanuel Cazenave il y a plus de 5 ans

En local sur ta branche, même erreur que dans jenkins ....

#5

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Solution proposée à En cours

Un truc m'échappe, je vais regarder plus attentivement.

#6

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Impossible de reproduire localement :/ Je ne comprends pas, je vais essayer de reproduire sur le serveur jenkins.

#7

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Et donc c'est juste parce que l'utilisateur jenkins n'était pas dans systemd-journal, je l'y ai ajouté si personne n'y voit d'inconvénient.

#8

Mis à jour par Frédéric Péters il y a plus de 5 ans

Sûr, et tu dois pouvoir ensuite forcer un build de la branche.

#9

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de En cours à Solution proposée

Je ne sais pas si je pose mon fix quand même (c'est plus propre si il s'écoule plus de 10s entre les deux points du test, mais ce n'était certainement pas la source de l'erreur).

#10

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Statut changé de Solution proposée à Rejeté

Inutile.

Formats disponibles : Atom PDF