Anomalie #7782
Si on met mode_conteneur_actif sans le paquet eole-conteneur, plantage de Maj-Auto
Description
Ok c'est un serveur bidouillé, mais si on met mode_conteneur_actif à oui sans le paquet eole-conteneur il y a une erreur :
Maj-Auto - [Errno 2] No such file or directory
Le problème c'est le lancement de la commande :
['/usr/bin/lxc-info', '-n', u'mail', '-s']
Il devrait y avoir un vrai message d'erreur.
Révisions associées
Détecter le mode conteneur avec « creole.containers »
- pyeole/pkg.py (EolePkgApt.__init__): Utiliser
« creole.containers.is_lxc_enabled() » pour détecter l’activation du
mode conteneur.
Ref: #7782 @15m
Vérifier la présence des commandes LXC
- creole/containers.py (is_lxc_enabled): Vérifier que les commandes LXC
sont bien présentes.
Fixes: #7782 @15m
Revert "Détecter le mode conteneur avec « creole.containers »"
Le code de « pyeole.pkg » doit fonctionner à l’intérieur des conteneurs.
This reverts commit 8dbd6a76246b80a72a2b1b06393522bf17938a1e.
- pyeole/pkg.py (EolePkgApt.__init__): Ne pas activer le mode conteneur
à l’intérieur des conteneurs.
Ref: #7782
Détecter la présence des commandes LXC
- pyeole/process.py (creole_test_container): Lève une exception si la
commande « lxc-info » n’est pas disponible.
Fixes: #7782 @10m
Rendre l’API « CreoleClient.is_in_lxc() » publique
Cette API est désormais utilisée par « pyeole.pkg ».
- creole/client.py (CreoleClient.is_in_lxc): Test si le processus
s’exécute dans un conteneur.
Ref: #7782
L’exception VirtError n’existe pas dans les conteneurs
- pyeole/process.py (creole_test_container): Lève une exception
« SystemError » si la commande « lxc-info » n’existe pas.
Ref: #7782
Historique
#1 Mis à jour par Joël Cuissinat il y a environ 10 ans
- Echéance mis à 04/04/2014
- Temps estimé mis à 1.00 h
#2 Mis à jour par Daniel Dehennin il y a environ 10 ans
Est-ce que le message suivant convient ?
root@eolebase:~# Maj-Auto -D Traceback (most recent call last): File "/usr/bin/Maj-Auto", line 21, in <module> from creole import reconfigure, fonctionseole File "/usr/lib/python2.7/dist-packages/creole/reconfigure.py", line 36, in <module> from creole import fonctionseole File "/usr/lib/python2.7/dist-packages/creole/fonctionseole.py", line 17, in <module> PkgManager = EolePkg('apt') File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 876, in __init__ self.pkgmgr = EolePkgApt(root=root, test=test, type_=type_) File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 347, in __init__ self.container_mode = is_lxc_enabled() File "/usr/lib/python2.7/dist-packages/creole/containers.py", line 78, in is_lxc_enabled raise VirtError(u'LXC is enabled but LXC commands not found in PATH.') creole.error.VirtError: LXC is enabled but LXC commands not found in PATH.
#3 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Assigné à changé de Emmanuel GARETTE à Daniel Dehennin
- Début mis à 02/04/2014
#4 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit ce051b8fca79815750acb1a47098764fc13023c4.
#5 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Statut changé de Résolu à À valider
- % réalisé changé de 100 à 50
Cela ne va pas du tout, le code de pyeole.pkg
doit fonctionner à l’intérieur des conteneurs.
#6 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Statut changé de À valider à Résolu
- % réalisé changé de 50 à 100
Appliqué par commit python-pyeole:2a91511c97d01b9c83e97682d6443e3d6bf8dcc3.
#7 Mis à jour par Emmanuel GARETTE il y a environ 10 ans
- Statut changé de Résolu à Fermé
OK :
root@scribe:~# CreoleGet mode_conteneur_actif oui root@scribe:~# Maj-Auto -D Mise à jour le mardi 15 avril 2014 14:23:55 *** scribe 2.4 (000GNU) *** Configure sources.list Maj-Auto - L’augmentation du niveau de mise à jour peut poser problème si vous souhaitez revenir à la version stable Voulez-vous continuer [oui/non] [non] : o Configuring Ubuntu with mirror eole.ac-dijon.fr Maj-Auto - LXC commands not found.