20 de setembro de 2013

Como renomear uma máquina Vagrant

Importante: só realize esse procedimento com sua máquina virtual em estado "powered off" ou "not created".

Toda máquina criada pelo Vagrant recebe o nome de "default", como abaixo:
$ vagrant status
Current machine states:

default                  poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

Existe uma maneira de mudar o nome dessa máquina, para o Vagrant, incluindo um config.vm.define no seu Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.provision :shell, :path => "bootstrap.sh"

  # Aqui você configura o nome da sua máquina Vagrant. 
  config.vm.define :minha_maquina_virtual do |t|
  end
end

Agora, o resultado do vagrant status aparece assim:
$ vagrant status
Current machine states:

minha_maquina_virtual                  poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

Se você resolver mudar o nome de uma máquina virtual já existente, é preciso renomear um diretório que o Vagrant cria, com o nome da sua máquina virtual. Ele fica dentro do diretório raiz da sua máquina, com o nome da sua máquina:
$ tree .vagrant
.vagrant
└── machines
    └── default
        └── virtualbox
            └── id

Então, para o Vagrant não achar que precisa criar uma nova máquina com o nome que você configurou, renomeie o diretório da sua máquina:
mv .vagrant/machines/default .vagrant/machines/minha_maquina_virtual

Agora você já pode colocar sua máquina no ar com vagrant up.