Scénario #16671
Permettre l'installation des paquets des conteneurs depuis le CDROM
100%
Description
Erreur apparue lors de l'exécution du test squash : SC-T10-005 - Erreurs gen_conteneurs
root@eolebase:~# gen_conteneurs Restart Systemd service creoled [ OK ] --------------- Génération des conteneurs --------------- Gestion du conteneur mail --------------- Lancement des conteneurs --------------- Start Systemd service lxc-net [ OK ] Start Systemd service lxc [ OK ] --------------- Installation des paquets supplémentaires --------------- Vérification des paquets pour le conteneur mail: eole-exim-pkg Action install pour le conteneur mail root - Exécution de apt-eole -o --container current --log-level info install eole-lxc-container-pkg eole-exim-pkg pour le conteneur mail impossible: mount: special device /dev/sr0 does not exist mount: special device /dev/sr1 does not exist apt-eole - CDROM d'installation non trouvé root@eolebase:~# cat /etc/apt/sources.list deb file:/media/cdrom xenial main universe
Sous-tâches
Demandes liées
Historique
#1 Mis à jour par Joël Cuissinat il y a presque 8 ans
Lors des manipulations suivante, j'ai découvert que :
/dev/mapper/eolebase--vg-root 3,7G 3,4G 33M 100% /
Il faudrait faire modifier le partitionnement dans les tests squash et/ou agrandir la partition !
#2 Mis à jour par Joël Cuissinat il y a presque 8 ans
Après extension de la partition, ça plante toujours mais certainement pour d'autres raisons :o
Vérification des paquets pour le conteneur mail: eole-exim-pkg pyeole.diagnose.network - Test TCP connection on 192.0.2.13 port 22 pyeole.pkg - Run: apt-eole -o --container current --log-level info install eole-lxc-container-pkg eole-exim-pkg (mail) Action install pour le conteneur mail pyeole.diagnose.network - Test TCP connection on 192.0.2.13 port 22 root - Traceback (most recent call last): File "/usr/sbin/gen_conteneurs", line 92, in main install_packages(silent=silent) File "/usr/lib/python2.7/dist-packages/creole/reconfigure.py", line 517, in install_packages container=group_infos[u'name']) File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1267, in install silent=silent) File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 1220, in _run **kwargs)) File "/usr/lib/python2.7/dist-packages/pyeole/pkg.py", line 761, in _run_containers raise SystemError(msg.format(cmd_string, container, stderr)) SystemError: Exécution de apt-eole -o --container current --log-level info install eole-lxc-container-pkg eole-exim-pkg pour le conteneur mail impossible
#3 Mis à jour par Joël Cuissinat il y a presque 8 ans
- Temps estimé mis à 2.00 h
- Tâche parente mis à #16608
#4 Mis à jour par Joël Cuissinat il y a presque 8 ans
- Restant à faire (heures) mis à 2.0
Après une nouvelle génération du conteneur, on peur constater que les points de montage /dev/sr0 et /dev/sr1 sont bien manquants.
La commande est fonctionnelle après création manuelle :
mknod /dev/sr0 b 11 0 mknod /dev/sr1 b 11 1 chmod 664 /dev/sr0 chgrp cdrom /dev/sr0
#5 Mis à jour par Joël Cuissinat il y a presque 8 ans
La fonction creole.containers.create_disknods(container) est bien censée faire le travail mais il n'a peut-être pas été fait car creoled était planté (cf. #16670).
À noter qu'en lançant reconfigure en mode debug, on s'aperçoit que cette fonction est appelée deux fois :- à l'étape "Lancement des conteneurs"
creole.containers - Device /dev/sr0 already exists in mail creole.containers - Device /dev/sr1 already exists in mail Start Systemd service lxc-net
- à l'étape "Démarrage des services"
Start network service networking [ OK ] creole.containers - Device /dev/sr0 already exists in mail creole.containers - Device /dev/sr1 already exists in mail Start Systemd service lxc-net
Autre piste d'explication :
root@eolebase:~# ll /opt/lxc/mail/rootfs/dev/sr0 brw-r----- 1 root root 11, 0 juin 30 16:28 /opt/lxc/mail/rootfs/dev/sr0 root@eolebase:~# CreoleRun "ls /dev/sr0" mail ls: impossible d'accéder à '/dev/sr0': Aucun fichier ou dossier de ce type
#6 Mis à jour par Daniel Dehennin il y a presque 8 ans
La création manuelle des fichiers de périphériques dans /dev
par la fonction creole.containers.create_disknods(container)
a fonctionné pour moi, mais le conteneur dispose d’un /dev
automatique:
root@eolebase:~# ls /opt/lxc/mail/rootfs/dev/sr* /opt/lxc/mail/rootfs/dev/sr0 /opt/lxc/mail/rootfs/dev/sr1
root@eolebase:~# ssh mail Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-28-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Mon Jul 4 11:13:14 2016 from 192.0.2.1 root@mail:~# ls /dev/ console fd hugepages log mqueue ptmx random stderr stdout tty1 tty3 urandom core full initctl lxc null pts shm stdin tty tty2 tty4 zero
#7 Mis à jour par Daniel Dehennin il y a presque 8 ans
D’après la page de manuel lxc.containers.conf
/DEV DIRECTORY
By default, lxc creates a few symbolic links (fd,stdin,stdout,stderr)
in the container's /dev directory but does not automatically create
device node entries. This allows the container's /dev to be set up as
needed in the container rootfs. If lxc.autodev is set to 1, then after
mounting the container's rootfs LXC will mount a fresh tmpfs under /dev
(limited to 500k) and fill in a minimal set of initial devices. This
is generally required when starting a container containing a "systemd"
based "init" but may be optional at other times. Additional devices in
the containers /dev directory may be created through the use of the
lxc.hook.autodev hook.lxc.autodev
Set this to 0 to stop LXC from mounting and populating a minimal
/dev when starting the container.
Il faut donc un script, sur le maître, qui sera exécuté dans le contexte du conteneur, par exemple :
#!/bin/sh mknod ${LXC_ROOTFS_MOUNT}/dev/sr0 b 11 0 mknod ${LXC_ROOTFS_MOUNT}/dev/sr1 b 11 1 chmod 664 ${LXC_ROOTFS_MOUNT}/dev/sr0 chgrp cdrom ${LXC_ROOTFS_MOUNT}/dev/sr0
#8 Mis à jour par Scrum Master il y a presque 8 ans
- Assigné à mis à Daniel Dehennin
#9 Mis à jour par Scrum Master il y a presque 8 ans
- Statut changé de Nouveau à En cours
#10 Mis à jour par Scrum Master il y a presque 8 ans
- Statut changé de En cours à Nouveau
#11 Mis à jour par Scrum Master il y a presque 8 ans
- Assigné à
Daniel Dehenninsupprimé
#12 Mis à jour par Scrum Master il y a presque 8 ans
- Tâche parente
#16608supprimé
#13 Mis à jour par Scrum Master il y a presque 8 ans
- Tracker changé de Tâche à Scénario
- Sujet changé de Erreur lors de l'installation des paquets supplémentaires dans gen_config en mode CD-ROM sur 2.6 à Permettre l'installation des paquets des conteneurs depuis le CDROM
- Version cible
sprint 2016 25-27 - Equipe MENESRsupprimé - Début
30/06/2016supprimé - Release mis à EOLE 2.6.1
#14 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Points de scénarios mis à 2.0
#15 Mis à jour par Luc Bourdot il y a plus de 7 ans
- Echéance mis à 16/12/2016
- Version cible mis à sprint 2016 48-50 - Équipe MENSR
- Début mis à 28/11/2016
#16 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Assigné à mis à force verte
#17 Mis à jour par Joël Cuissinat il y a plus de 7 ans
- Echéance
16/12/2016supprimé - Version cible
sprint 2016 48-50 - Équipe MENSRsupprimé - Début
28/11/2016supprimé
#18 Mis à jour par Luc Bourdot il y a plus de 7 ans
- Echéance mis à 20/01/2017
- Version cible mis à sprint 2017 1-3 Equipe MENSR
- Début mis à 03/01/2017
#19 Mis à jour par Laurent Flori il y a plus de 7 ans
- Statut changé de Nouveau à Terminé (Sprint)