web-dev-qa-db-fra.com

lxc-create se bloque et finalement échoue

J'essayais de placer des breloques Juju sur des conteneurs Linux et les conteneurs n'ont pas pu démarrer. Pour déboguer le problème, j’ai sshed dans le nœud où cela s’est passé et j’ai essayé de créer manuellement un conteneur LXC, comme ceci:

ubuntu@slot13:~$ Sudo lxc-create -t ubuntu -n pavan
Checking cache download in /var/cache/lxc/trusty/rootfs-AMD64 ...
Installing packages in template: ssh,vim,language-pack-en
Downloading ubuntu trusty minimal ...
I: Retrieving Release

Il ne fait aucun progrès du tout. C'est coincé ici depuis très longtemps. Après un temps très long, il dit:

ERROR: Unable to fetch GPG key from keyserver

et continue de pendre. Enfin, après 20-30 minutes, il abandonne comme

E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/trusty/Release

Où se trouvent les fichiers journaux correspondant à la commande lxc-create? Comment puis-je déboguer ce problème?

EDIT: J'ai compris comment afficher les journaux de débogage et j'ai donc exécuté la commande ci-dessous plusieurs fois.

Sudo lxc-create -t ubuntu -n pavan --logfile=test.txt --logpriority=DEBUG

test.txt contient seulement ceci

lxc-create 1414897265.204 ERROR    lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.757 ERROR    lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.759 WARN     lxc_log - lxc_log_init called with log already initialized

Mais cela reste bloqué et les journaux de débogage n'offrent pas beaucoup d'aide.

4
Pavan Manjunath

Êtes-vous derrière un proxy? Si oui, alors vous pouvez définir votre proxy en bash. Problème suivant,

export http_proxy="http://<proxy_Host>:<port>"
3
Pradeeper

Veuillez ajouter le drapeau --no-validate pour ignorer la validation du gpg:

lxc-create -t ubuntu -n pavan -- --no-validate

Voir https://github.com/lxc/lxc/blob/master/templates/lxc-download.in#L24

6
Mukul

Merci Felipe pour la solution de contournement - pour un correctif complet, nécessitait également:

mkdir /var/lib/lxc/juju-trusty-lxc-template/rootfs/var/log/juju

Détails:

  1. a lancé lxc-create comme indiqué ci-dessus dans l'élément updateList de Felipe
  2. le déploiement de tout service échouait constamment, le statut juju indiquant:

    agent-state-info: 'container failed to start and was destroyed: jjo-local-machine-1'
    
  3. trouvé à /var/lib/juju/containers/jjo-local-machine-5/container.log:

    lxc-start 1427066682.951 ERROR    lxc_conf - conf.c:mount_entry:1711 - No such file or directory - failed to mount '/var/log/juju-jjo-local' on '/usr/lib/x86_64-linux-gnu/lxc/var/log/juju'
    
  4. La création du répertoire le corrige, déploie plus avant ok:

     mkdir /var/lib/lxc/juju-trusty-lxc-template/rootfs/var/log/juju
    
2
jjo

En fait, juju utilise le modèle 'ubuntu-cloud' pour saisir une image. La commande exécutée pour créer le modèle dans mon système exécutant trusty est la suivante:

lxc-create -n juju-trusty-lxc-template \
  -t ubuntu-cloud \
  -f /var/lib/juju/containers/juju-trusty-lxc-template/lxc.conf \
  -- --debug \
  --userdata /var/lib/juju/containers/juju-trusty-lxc-template/cloud-init \
  --hostid juju-trusty-lxc-template
  -r trusty

Je vous suggère de lancer quelque chose comme ça et de voir quelle erreur vous donne.

2
Felipe Reyes

Problème

Si vous êtes derrière un pare-feu qui restreint l’accès à Internet, vous risquez d’obtenir cette erreur:

$ lxc-create -t download -n my-container
Setting up the GPG keyring
ERROR: Unable to fetch GPG key from keyserver.
lxc-create: lxccontainer.c: create_run_template: 1297 container
  creation template for my-container failed
lxc-create: tools/lxc_create.c: main: 318 Error creating
  container my-container

Réparer

Connectez-vous au serveur de clés via le port 80:

$ lxc-create -t download -n my-container \
  -- --keyserver hkp://p80.pool.sks-keyservers.net:80

Détails

Le serveur de clés, hkp://p80.pool.sks-keyservers.net:80, provient du code source lxc:

apt source lxc
grep -ri hkp: .

Références

2
Håkon A. Hjortland

J'ai eu le même problème. Nous avons un serveur proxy avec une mauvaise implémentation http/1.0 qui pose des problèmes avec l'extraction gpg keyserver. Pour contourner le problème, vous pouvez ajouter la clé manuellement en procédant comme suit:

Allez à http://keyserver.ubuntu.com et recherchez la clé suivante: 0xBAEFF88C22F6E216 (trouvée dans/usr/share/lxc/templates/lxc-download recherchez DOWNLOAD_KEYID). Téléchargez-le et enregistrez-le dans un fichier nommé keyfile

Maintenant, le fichier enregistré peut être ajouté au trousseau de clés système, par exemple. en utilisant

Sudo apt-key add keyfile

Il y a plus de façons de l'ajouter, mais utiliser ubuntu est une méthode efficace. Peut-être que vous pouvez aussi utiliser directement gpg. Après avoir ajouté, il n’est plus nécessaire que Lxc contacte le serveur de clés et le problème a été résolu pour moi.

1
Sven

Basé sur un réponse dans ici , j'ai découvert que la désactivation d'IPV6 devrait fonctionner. Et ça a fonctionné pour moi.

This réponse de débordement de pile montre comment le faire.

0
Jefferson