【问题标题】:How do I change the puppet version installed by vagrant如何更改 vagrant 安装的 puppet 版本
【发布时间】:2013-02-09 22:46:51
【问题描述】:

我在一个precision32 base box 上使用vagrant 1.0.1 来玩puppet。 配置工作正常,我的清单正在执行。 默认情况下,vagrant 会在客户机的 /opt/vagrant_ruby/bin/puppet 下安装 puppet 2.7.14。

如何配置 vagrant(或曾经在客户机上安装 puppet 的人)以使用更新的版本,如 puppet 3.0 或 3.1?

【问题讨论】:

    标签: puppet vagrant


    【解决方案1】:

    您还可以使用指定的 shell 配置器更新 puppet,之前 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
    

    【讨论】:

      【解决方案2】:

      你需要重建你在 vagrant 中使用的 basebox 并安装你想要的任何版本的 Puppet。我为 Cent 6.3 w/puppet 3.0 做了同样的事情。 Veewee gem 是为 Oracle Virtualbox 构建和管理 Vagrant basebox 的绝佳实用程序。

      【讨论】:

      • 我不知道木偶和厨师是带着盒子来的。我认为只有在 vagrant 文件中配置了相应的配置程序时才会安装它们。谢谢指出。
      猜你喜欢
      • 2014-07-19
      • 1970-01-01
      • 2012-02-12
      • 2014-03-02
      • 2015-11-20
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      • 2019-01-29
      相关资源
      最近更新 更多