如何更改vagrant安装的puppet版本

时间:2013-02-09 22:46:51

标签: puppet vagrant

我在精确的32基盒上使用vagrant 1.0.1来玩木偶。 供应工作正常,我的清单正在执行。 默认情况下,vagrant会在访客的/ opt / vagrant_ruby / bin / puppet下安装puppet 2.7.14。

如何配置vagrant(或者曾经在guest虚拟机上安装puppet)使用更新版本如puppet 3.0或3.1?

2 个答案:

答案 0 :(得分:11)

此外,您可以在 puppet provisioner之前使用指定的shell配置程序更新puppet。如Vagrant documentation中所述:

  

多个config.vm.provision方法可用于定义多个配置程序。这些供应商将按照他们定义的顺序运行。由于各种原因,这很有用,但最常用的是shell脚本可以引导某些系统,以便其他配置程序可以在以后接管。

以下是CentOS 6的示例Vagrantfile:

# Update puppet to version 3.2.2 before using puppet provisioning.
$puppet_update_script = <<SCRIPT
[ `rpm -qa puppetlabs-release` = 'puppetlabs-release-6-7.noarch' ] || rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-7.noarch.rpm 
[ `rpm -qa puppet` = 'puppet-3.2.2-1.el6.noarch' ] || yum -y update-to puppet-3.2.2
SCRIPT
config.vm.provision :shell, :inline => $puppet_update_script

# Puppet-3.2.2 provisioning here
config.vm.provision :puppet do |puppet|
  puppet.options = '--parser future'
  puppet.manifests_path = 'puppet/manifests'
end

答案 1 :(得分:7)

您需要重建您在vagrant中使用的basebox并安装您想要的任何版本的Puppet。我为Cent 6.3 w / puppet 3.0做了同样的事情。 Veewee gem是构建和管理Oracle Virtualbox的Vagrant基本框的一个很好的实用工具。