O sistema não pode ser encerrado se a caixa Vagrant não for parada manualmente

2

Quando tento desligar a máquina, ela "congela" ou fica presa em um ponto, onde não é possível concluir o processo. Eu recebo a mensagem

unregistered_netdevice: waiting for vboxnet2 to become free. Usage count = 1

Depois de algumas experiências, notei que, se eu parar as caixas errantes, esse erro não acontece.

vagrant halt

Este é um novo comportamento que começou há algumas semanas. Como eu poderia consertar isso?

    
por Enrique Moreno Tent 17.10.2014 / 17:05

2 respostas

2

Você precisará configurar um script para ser executado automaticamente no desligamento.

Veja o link

Crie /etc/init.d/vagrant com este conteúdo:

#!/bin/bash
vagrant global-status | awk '/running/{print }' | xargs -r -d '\n' -n 1 -- vagrant suspend

Torne-o executável e vincule-o aos modos de execução de desligamento:

chmod +x /etc/init.d/vagrant
ln -s /etc/init.d/vagrant /etc/rc0.d/K10vagrant
ln -s /etc/init.d/vagrant /etc/rc6.d/K10vagrant

Você pode testá-lo iniciando algumas VM's vagantes e executando o script como root:

sudo /etc/init.d/vagrant
    
por Nick Breen 05.02.2015 / 10:04
1

A solução de Nick Breen não funciona mais (em outubro de 2015, vagabundo 1.4.3), já que não há mais um subcomando vagrant-status .

Eu usei o one-liner do Darren Beale no /etc/init.d/vagrant file, e funciona muito bem:

for VM in 'VBoxManage list runningvms | awk '{ print ; }''; do VBoxManage controlvm $VM poweroff; done
    
por 0atman 13.10.2015 / 10:59