Sou um grande fã do Vagrant (e do Puppet) e frequentemente o uso para criar ambientes de teste juntos e testar manifestos e módulos do Puppet que serão usados em outro lugar posteriormente. Freqüentemente, eu uso a caixa precisa64 como ponto de partida, mas ela ainda contém o Puppet 2.7. Então eu vim com este pequeno script (bootstrap-puppet.sh) para atualizar o Puppet em ‘vagrant up’ se aplicável:
#!/bin/bash
if [ ! -e /tmp/puppet-updated ]; then
wget -O /tmp/puppetlabs-release-precise.deb http://apt.puppetlabs.com/puppetlabs-release-precise.deb
dpkg -i /tmp/puppetlabs-release-precise.deb
apt-get update
apt-get --assume-yes install puppet
touch /tmp/puppet-updated
fi
Agora, isso pode simplesmente ser incluído em seu Vagrantfile com um provisionador de shell antes (!) Do provisionador Puppet, e se o Puppet ainda não estiver atualizado, ele será atualizado:
config.vm.provision :shell, :path => "scripts/bootstrap_puppet.sh"
Se você estiver usando caixas diferentes, consulte http://docs.puppetlabs.com/guides/puppetlabs_package_repositories.html para ajustar o script para caber no sistema operacional de sua caixa.