Buenas Almudena,
Vagrant tiene la posibilidad de realizar provisioning desde el Vagrantfile (el archivo de configuracion de tu repo de vagrant). Podes usar shell, puppet, chef (y creo que en 1.6 ansible) provisioning.
Tenes varias opciones. Una es utilizar un puppet master (server de puppet) para esto deberias levantar una instancia de vagrant y luego instalar puppet (google 'install puppet master'). Luego, cuando configuras el provisioning de las VMs mediante vagrant, colocas los datos pertinentes del server:
[snip]
config.vm.provision "puppet_server" do |puppet|
end
[/snip]
La otra es usar puppet apply, en la que corres los manifiestos en modo standalone, y no dependes de un master:
[snip]
config.vm.provision "puppet" do |puppet|
puppet.manifests_path = "my_manifests"
puppet.manifest_file = "default.pp"
end
[/snip]
De manera que en el directorio donde tenes tu Vagrantfile, deberias tener un subdirectorio llamado 'my_manifests' y dentro de el, un manifiesto 'default.pp'.
Saludos