Projet

Général

Profil

Tâche #20960

Scénario #20865: Maj-Auto devrait détecter si une mise à jour précédente s'est terminée par des erreurs

Trouver comment détecter si dpkg est en erreur avec pkg.py

Ajouté par Joël Cuissinat il y a presque 7 ans. Mis à jour il y a presque 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
27/06/2017
Echéance:
% réalisé:

100%

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

Description

Fonction dédié ou attributs déjà disponible dans le code existant...

Révisions associées

Révision b348d656 (diff)
Ajouté par Joël Cuissinat il y a presque 7 ans

Implémentation de "apt-eole ckeck"

Ref: #20960

Révision 4aa6f7e8 (diff)
Ajouté par Joël Cuissinat il y a presque 7 ans

Appel à la méthode "check" dans Maj-Auto

Ref: #20960

Historique

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

  • Statut changé de Nouveau à En cours

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

  • Assigné à mis à Laurent Flori

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

Tentative de codage pour : apt-eole check

  • dans parse_apt_cmdline():
        check = actions.add_parser(u'check', help=_(u'verify dpkg status'))
        check.set_defaults(func=u'check')
    
  • dans class EolePkgApt(object):
        def check(self, silent=False):
            """ check dpkg errors
    
            :param silent: do not display progress informations
            :type silent: `bool`
    
            """ 
            if system_out(['apt-get', 'install', '-f'])[0] != 0:
                raise PackageError(_(u"C'est tout planté !"))
            return 0
    
  • dans class EolePkg(object):
        def check(self, container=None, silent=True):
            """Check dpkg errors
    
            :param silent: do not display progress informations
            :type silent: `bool`
    
            """ 
            action = u'check'
            func = u'check'
    
            if container is None:
                container = u'all'
            return self._run(action=action,
                             func=func,
                             container=container,
                             silent=silent)
    
    

Dans /usr/bin/Maj-Auto, juste en-dessous de PKGMGR = EolePkg('apt', ignore=opts.ignore) :

PKGMGR.check()

#4 Mis à jour par Laurent Flori il y a presque 7 ans

La solution proposé par Joël fonctionne bien.
Sur l'amonecole il est peut etre un peu trop bavard mais c'est vraiment cosmetique:

Maj-Auto - Exécution de apt-eole -o --container current --log-level info check pour le conteneur reseau impossible: apt-eole - C'est tout planté !

#5 Mis à jour par Joël Cuissinat il y a presque 7 ans

  • % réalisé changé de 0 à 100
  • Restant à faire (heures) changé de 4.0 à 0.5

#6 Mis à jour par Scrum Master il y a presque 7 ans

  • Statut changé de En cours à Résolu

#7 Mis à jour par Benjamin Bohard il y a presque 7 ans

  • Restant à faire (heures) changé de 0.5 à 0.0

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

Comportement à vérifier avec Joël : la vérification n’est pas effectuée au reconfigure.

Comportement confirmé par Joël.

#9 Mis à jour par Scrum Master il y a presque 7 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF