O Vagrant VM não consegue inicializar

1

Eu tenho um ambiente do Vagrant que exige que eu encaminhe a porta 80, então eu a coloco em sudo em uma máquina OS X. Isso sempre foi bom até que eu recentemente atualizei para o Vagrant 1.2.2. Agora não consegue inicializar.

[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.

Como estou executando em sudo , a máquina nunca é adicionada à GUI do Virtualbox, mas esse sempre foi o caso para esse ambiente.

Eu não tenho nenhuma indicação de que houve um problema com as adições - uma fonte potencial desse erro, pelo que eu li. Eu posso trazer as coisas muito bem se eu mudar para usar a porta 8080 na máquina host. Eu não posso usar o aplicativo, mas a própria VM carrega e provisiona muito bem.

Tanto quanto eu posso dizer, a única coisa que mudou é:

  1. atualizei minha versão do Vagrant
  2. Atualizei o Vagrantfile do projeto para usar a sintaxe v2.

Alguém tem alguma ideia do que eu possa estar perdendo? Eu pensei que seria capaz de encontrar isso facilmente, mas está rapidamente se tornando um problema real.

UPDATE 27 JUN

Parece que é um problema de chave SSH se VAGRANT_LOG=DEBUG for acreditado:

DEBUG ssh: Checking key permissions: /Users/robwilkerson/.vagrant.d/insecure_private_key
 INFO ssh: SSH not up: #<Vagrant::Errors::SSHKeyBadOwner: The private key to connect to the machine via SSH must be owned
by the user running Vagrant. This is a strict requirement from
SSH itself. Please fix the following key to be owned by the user
running Vagrant:

/Users/robwilkerson/.vagrant.d/insecure_private_key>
 INFO subprocess: Starting process: ["VBoxManage", "showvminfo", "3422bba7-8f35-42ad-ba1a-c127c6cb3cf6", "--machinereadable"]

Suponho que queira uma chave de propriedade de root , pois estou abaixo de sudo , mas, se esse for o caso, por que não está vendo root ~/.vagrant.d/ ? A v2 ficou mais rigorosa com relação a isso? Eu consegui sudo vagrant up bem até a atualização. Como esse é meu único ambiente de desenvolvimento que requer sudo para cima, prefiro não alterar a propriedade principal. Existe outro jeito?

Muitas perguntas, eu sei, mas eu realmente poderia usar uma mão para entender / consertar essa.

    
por Rob Wilkerson 26.06.2013 / 18:20

2 respostas

2

Não encontrei uma solução melhor para isso do que ativar ou desativar o proprietário da chave privada ao alternar entre esse projeto e os outros. Para fazê-lo sugar um pouco menos, criei uma função zsh :

vkey() { sudo chown "$*":staff ~/.vagrant.d/insecure_private_key; }

Na linha de comando, posso atualizar o dono da chave com isso:

$ vkey <new_owner_username>
    
por 13.08.2013 / 17:43
2

Tente alterar a propriedade do diretório vagrant.d :

# cd ~
# sudo chown -R root .vagrant.d/
    
por 11.08.2013 / 22:37