Projet

Général

Profil

Scénario #16671

Permettre l'installation des paquets des conteneurs depuis le CDROM

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

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
28/11/2016
Echéance:
20/01/2017
% réalisé:

100%

Temps estimé:
2.00 h (Total: 6.00 h)
Temps passé:
(Total: 7.00 h)
Points de scénarios:
2.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

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

Tâche #18129: Appliquer les corrections nécessaires à l'installation des paquets des conteneurs depuis le CDROMFerméJoël Cuissinat


Demandes liées

Bloqué par Distribution EOLE - Tâche #18654: L’installation depuis l’ISO plante sur le masquage des service apt-daily ou la désactivation de rsyslog Fermé 16/01/2017

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 Dehennin supprimé

#12 Mis à jour par Scrum Master il y a presque 8 ans

  • Tâche parente #16608 supprimé

#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 MENESR supprimé
  • Début 30/06/2016 supprimé
  • 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/2016 supprimé
  • Version cible sprint 2016 48-50 - Équipe MENSR supprimé
  • Début 28/11/2016 supprimé

#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)

Formats disponibles : Atom PDF