Project

General

Profile

Tâche #30513

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

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

Added by Joël Cuissinat almost 4 years ago. Updated over 3 years ago.

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

100%

Estimated time:
0.00 h
Remaining (hours):
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" 

Associated revisions

Revision 2cab94cc (diff)
Added by Benjamin Bohard over 3 years ago

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

Ref #30513

History

#1 Updated by Benjamin Bohard over 3 years ago

  • Status changed from Nouveau to En cours

#2 Updated by Benjamin Bohard over 3 years ago

  • Description updated (diff)
  • Assigned To set to Benjamin Bohard

#3 Updated by Benjamin Bohard over 3 years ago

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 Updated by Benjamin Bohard over 3 years ago

  • Status changed from En cours to Résolu

#5 Updated by Joël Cuissinat over 3 years ago

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

Testé OK

#6 Updated by Joël Cuissinat over 3 years ago

  • % Done changed from 0 to 100
  • Estimated time set to 0.00 h

Also available in: Atom PDF