lxc-create trava e finalmente falha

3

Eu estava tentando colocar alguns feitiços de juju em contêineres do Linux e os contêineres não começaram. Para depurar o problema eu sshed no nó onde isso aconteceu e tentei criar um contêiner LXC manualmente como

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

Não está fazendo nenhum progresso. Está preso aqui por muito tempo. Depois de muito tempo diz:

ERROR: Unable to fetch GPG key from keyserver

e continua a travar. Finalmente, depois de 20-30 minutos, desiste como

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

Onde estão os arquivos de log correspondentes ao comando lxc-create ? Como posso depurar este problema?

EDIT : Eu descobri como ver os logs de depuração e, portanto, executei o comando abaixo algumas vezes

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

test.txt contém apenas isto

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

Mas ainda assim, trava e os logs de depuração não oferecem muita ajuda.

    
por Pavan Manjunath 02.11.2014 / 05:36

7 respostas

3

Você está por trás de um proxy? se sim, então você pode definir seu proxy no bash. Questão seguinte,

export http_proxy="http://<proxy_host>:<port>"
    
por Pradeeper 03.11.2014 / 23:33
2

Na verdade, o juju usa o template 'ubuntu-cloud' para capturar uma imagem, o comando executado para criar o template no meu sistema executando trusty é:

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

Sugiro que você execute algo assim e veja o que o erro causa.

    
por Felipe Reyes 04.11.2014 / 15:16
2

Obrigado Felipe pela solução - para uma correção completa, também é necessário fazer:

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

Detalhes:

  1. executou o lxc-create de acordo com o item updateList de Felipe
  2. A implementação de qualquer serviço foi consistentemente falha, mostrando o status do juju:

    agent-state-info: 'container failed to start and was destroyed: jjo-local-machine-1'
    
  3. encontrado em /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. Criando o diretório corrigido, implanta ainda mais:

     mkdir /var/lib/lxc/juju-trusty-lxc-template/rootfs/var/log/juju
    
por jjo 23.03.2015 / 00:38
2

Por favor, anexe --no-validate flag para pular a validação do gpg. Consulte o link

    
por Mukul 02.02.2016 / 10:12
2

Problema

Se você está protegido por um firewall que restringe o acesso à Internet, você pode receber este erro:

$ 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

Corrigir

Conecte-se ao servidor de chaves pela porta 80:

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

Detalhes

O servidor principal, hkp://p80.pool.sks-keyservers.net:80 , é do código-fonte lxc :

apt source lxc
grep -ri hkp: .

Referências

por Håkon A. Hjortland 30.08.2017 / 06:59
1

Eu tive o mesmo problema. Nós temos um proxyserver com uma implementação errada de http / 1.0 criando problemas com o gpg keyserver fetch. Como solução alternativa, a chave pode ser adicionada manualmente, fazendo o seguinte:

Chegue ao link e procure pela seguinte chave: 0xBAEFF88C22F6E216 (encontrado em / usr / share / lxc / templates / lxc-download search para DOWNLOAD_KEYID). Faça o download e salve-o em um arquivo chamado keyfile

Agora, o arquivo salvo pode ser adicionado ao chaveiro do sistema, por exemplo, usando

sudo apt-key add keyfile

Existem mais maneiras de adicioná-lo, mas usando o Ubuntu isso é uma maneira de trabalhar. Talvez você também possa usar o gpg diretamente. Depois de adicionar, não é mais necessário que o lxc entre em contato com o servidor de chaves e o problema foi corrigido para mim.

    
por Sven 09.02.2016 / 09:41
0

Com base em uma resposta em aqui , descobri que a desativação do IPV6 deve funcionar. E funcionou para mim.

Esta resposta de estouro de pilha mostra como fazer isso .

    
por Jefferson 07.10.2016 / 20:28