Atualize automaticamente o Puppet em sua caixa Vagrant precise64

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.