Tâche #30513
Scénario #30270: Portage python3 de l'EAD2
Erreur lors de la configuration des horaires d'un groupe de machine
Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
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
Use // operator instead of / to get floored division.
Ref #30513
Historique
#1 Mis à jour par Benjamin Bohard il y a presque 4 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par Benjamin Bohard il y a presque 4 ans
- Description mis à jour (diff)
- Assigné à mis à Benjamin Bohard
#3 Mis à jour par Benjamin Bohard il y a presque 4 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 presque 4 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