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.
Associated revisions
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
History
#1 Updated by Joël Cuissinat over 9 years ago
- Due date set to 04/04/2014
- Estimated time set to 1.00 h
#2 Updated by Daniel Dehennin over 9 years ago
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 Updated by Daniel Dehennin over 9 years ago
- Assigned To changed from Emmanuel GARETTE to Daniel Dehennin
- Start date set to 04/02/2014
#4 Updated by Daniel Dehennin over 9 years ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit ce051b8fca79815750acb1a47098764fc13023c4.
#5 Updated by Daniel Dehennin over 9 years ago
- Status changed from Résolu to À valider
- % Done changed from 100 to 50
Cela ne va pas du tout, le code de pyeole.pkg
doit fonctionner à l’intérieur des conteneurs.
#6 Updated by Daniel Dehennin over 9 years ago
- Status changed from À valider to Résolu
- % Done changed from 50 to 100
Appliqué par commit python-pyeole:2a91511c97d01b9c83e97682d6443e3d6bf8dcc3.
#7 Updated by Emmanuel GARETTE over 9 years ago
- Status changed from Résolu to 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.