Testando o Chef em vários ambientes usando o Vagrant

Estou fazendo muitas coisas com o Chef em meu projeto atual e estava procurando uma maneira de testar a arquitetura cliente-servidor do Chef. Eu poderia conseguir algumas máquinas não utilizadas com o pessoal de TI, mas isso não é uma coisa legal de se fazer.

Que tal isso – vários ambientes em minha própria máquina de desenvolvimento, que eu posso estragar o quanto quiser, apagar tudo e reiniciar meu teste quantas vezes eu quiser em um flash? Isso seria fofo!

Diga olá para o Vagrant. Eu tenho o Vagrant configurado na minha máquina, e você também deve tê-lo. Se você ainda não fez isso, este post irá ajudá-lo a fazer exatamente isso.

Chega de bate-papo, vamos descobrir o que é multi-ambiente.

Eu quero duas máquinas virtuais independentes, uma rodando lucid32 outra rodando precisão32, apenas para a demonstração. Vou usá-los como meus clientes-chef para testar o Chef.

Destruí minha VM existente executando:

vagrant destroy

Modifiquei meu Vagrantfile para ficar assim:

Vagrant::Config.run do |config|
config
.vm.define :node1 do |node_config|
node_config
.vm.box = "lucid32"
node_config
.vm.network :bridged
end

config
.vm.define :node2 do |node_config|
node_config
.vm.box = "precise32"
node_config
.vm.network :bridged
end
end

a máquina lucid32 é node1 e precise32 é node2

Em uma guia do terminal, eu executo:
vagrant up node1
vagrant ssh node1
vagrant @ lucid32: ~ $

e em uma segunda guia:

vagrant up node2
vagrant ssh node2

vagrant@precise32
:~$

Ai está .