Projet

Général

Profil

Tâche #30513

Scénario #30270: Portage python3 de l'EAD2

Erreur lors de la configuration des horaires d'un groupe de machine

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

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

100%

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

Description

Si on ajoute un groupe de machine en suivant (ou pas) les tests PROXY-T10-000 et PROXY-T10-003 (pas n°4), on obtient une erreur lors de l'application des plages horaires :

Le backend a renvoyé une erreur lors de l'exécution de la requête :
Traceback: <class 'TypeError'>: list indices must be integers or slices, not float

Et dans les logs :

2020-08-20T11:24:56.944033+02:00 amon.etb1.lan ead-server[22978]: 2020-08-20T11:24:56+0200 [stdout#info] /usr/share/ead2/backend/tmp/ipset_schedules0.pickle <_io.BufferedReader name='/usr/share/ead2/backend/tmp/ipset_schedules0.pickle'>
2020-08-20T11:24:56.944739+02:00 amon.etb1.lan ead-server[22978]: 2020-08-20T11:24:56+0200 [_GenericHTTPChannelProtocol (TLSMemoryBIOProtocol),88,192.168.0.31] "Erreur d'exécution :" 
2020-08-20T11:24:56.945042+02:00 amon.etb1.lan ead-server[22978]: 2020-08-20T11:24:56+0200 [_GenericHTTPChannelProtocol (TLSMemoryBIOProtocol),88,192.168.0.31] "Traceback: <class 'TypeError'>: list indices must be integers or slices, not float\n
/usr/lib/python3/dist-packages/twisted/internet/defer.py:151:maybeDeferred\n
/usr/share/ead2/backend/lib/eadserver.py:477:xmlrpc_execute_action\n
/usr/lib/python3/dist-packages/twisted/internet/defer.py:321:addCallback\n
/usr/lib/python3/dist-packages/twisted/internet/defer.py:311:addCallbacks\n
--- <exception caught here> ---\n/usr/lib/python3/dist-packages/twisted/internet/defer.py:654:_runCallbacks\n
/usr/share/ead2/backend/lib/execute_wrapper.py:18:wrapper\n/usr/share/ead2/backend/actions/amon/groupe_machine_admin.py:201:execute\n
/usr/share/ead2/backend/actions/amon/groupe_form.py:406:_get_time_range\n" 

Révisions associées

Révision 2cab94cc (diff)
Ajouté par Benjamin Bohard il y a plus de 3 ans

Use // operator instead of / to get floored division.

Ref #30513

Historique

#1 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Statut changé de Nouveau à En cours

#2 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Description mis à jour (diff)
  • Assigné à mis à Benjamin Bohard

#3 Mis à jour par Benjamin Bohard il y a plus de 3 ans

Changement de comportement de l’opérateur division entre python 2 et python 3.
Une division par 2 est utilisée pour placer le lien de suppression d’une plage vers le milieu de celle-ci.

En utilisant l’opérateur //, on retrouve le comportement initial d’une division retournant un entier en procédant à un arrondi à la partie entière inférieure.

#4 Mis à jour par Benjamin Bohard il y a plus de 3 ans

  • Statut changé de En cours à Résolu

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

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

Testé OK

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

  • % réalisé changé de 0 à 100
  • Temps estimé mis à 0.00 h

Formats disponibles : Atom PDF