Projet

Général

Profil

Tâche #13307

Scénario #17436: Améliorer la gestion des erreurs dans Maj-Auto

erreur Maj-Auto - int() argument must be a string or a number, not 'NoneType'

Ajouté par Emmanuel IHRY il y a plus de 8 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
30/09/2015
Echéance:
% réalisé:

100%

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

Description

Le message suivant apparait lors du lancement de la commande Maj-Auto si l'on n'a pas renseigné le port du proxy lors de la commande
export http_proxy=w.x.y.z

erreur Maj-Auto - int() argument must be a string or a number, not 'NoneType'

Il faudrait peut être mettre un message plus explicité ?


Demandes liées

Lié à Distribution EOLE - Tâche #17821: 02eole-apt-intra: erreur Maj-Auto - int() argument must be a string or a number, not 'NoneType' Fermé 17/10/2016

Révisions associées

Révision 7d0fd82e (diff)
Ajouté par Benjamin Bohard il y a plus de 7 ans

Convertir le paramètre port en amont et intercepter l’erreur avec un message explicite.

Ref #13307

Révision 720397b8 (diff)
Ajouté par Joël Cuissinat il y a plus de 7 ans

Ajout d'un message sur l'utilisation de http_proxy en mode debug

Ref: #13307 @20m

Historique

#1 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • Tracker changé de Anomalie à Demande

#2 Mis à jour par Joël Cuissinat il y a plus de 7 ans

Problème toujours d'actualité sur EOLE 2.6.0, cette demande pourrait être transformée en traitement express...

root@eolebase:~# Maj-Auto -d
Mise à jour le mercredi 05 octobre 2016 16:05:55
*** eolebase 2.6.0 (0000000A) ***

Maj-Auto - int() argument must be a string or a number, not 'NoneType'
Traceback (most recent call last):
  File "/usr/bin/Maj-Auto", line 306, in main
    envole_level=envole_level)
  File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1592, in _configure_sources_mirror
    mirror_ubuntu = _test_mirror('Ubuntu', ubuntu)
  File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1550, in _test_mirror
    pkgmgr._test_mirror(mirror_url, dist)
  File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 847, in _test_mirror
    if not test_tcp(proxy_url.hostname, proxy_url.port):
  File "/usr/lib/python2.7/dist-packages/pyeole/diagnose/network.py", line 127, in test_tcp
    soc.connect((ip_address, int(port)))
TypeError: int() argument must be a string or a number, not 'NoneType'

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

  • Tracker changé de Demande à Tâche
  • Temps estimé mis à 2.00 h
  • Tâche parente mis à #17436
  • Restant à faire (heures) mis à 2.0

Un try bien placé permettra d'affiché un message adapté à ce cas précis :)

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

  • Assigné à mis à Benjamin Bohard

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

  • Restant à faire (heures) changé de 2.0 à 1.83

La fonction test_tcp utilise déjà un try mais n’intercepte qu’un type d’erreur (pas le TypeError).

Cependant, on ne peut pas assurer qu’une erreur TypeError interceptée dans cette fonction soit bien en rapport avec le numéro de port (le try concerne plusieurs fonctions).
Il me semble plus clair de vérifier la validité da la variable http_proxy au moment de sa récupération dans la fonction _test_mirror dans pyeole/pkg.py.

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

  • % réalisé changé de 0 à 50
  • Restant à faire (heures) changé de 1.83 à 1.23

Ajout d’un autre contexte try indépendant pour être sûr de l’origin de l’erreur et test, par la même occasion, que le port est un entier inférieur à 65535.

Revoir le test de validité du port (fonction existante à importer ?).

#7 Mis à jour par Scrum Master il y a plus de 7 ans

  • Statut changé de Nouveau à En cours

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

Affiner la détection de l’utilisation d’un proxy (Acquire::http::Proxy:: n’est pas un indicateur suffisant)

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

  • % réalisé changé de 50 à 100
  • Restant à faire (heures) changé de 1.23 à 0.25

#10 Mis à jour par Scrum Master il y a plus de 7 ans

  • Statut changé de En cours à Résolu

#11 Mis à jour par Joël Cuissinat il y a plus de 7 ans

root@eolebase:~# export http_proxy=http://1.1.1.1
root@eolebase:~# Query-Auto -D
Mise à jour le lundi 28 novembre 2016 16:38:58
*** eolebase 2.6.1 (0000000A) ***

Maj-Auto - (VERSION DE DEVELOPPEMENT) - Augmenter le niveau de mise à jour peut empêcher de revenir au niveau de mise à jour stable.
Voulez-vous continuer ? [oui/non]
[non] : o
Maj-Auto - Tested port for tcp connection to 1.1.1.1 is not valid: None

#12 Mis à jour par Joël Cuissinat il y a plus de 7 ans

  • Projet changé de python-pyeole à creole
  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) changé de 0.25 à 0.0

Formats disponibles : Atom PDF