私は、appreact32ベースボックスでvagrant 1.0.1を使用して、人形で遊んでいます。プロビジョニングは正常に機能し、マニフェストは実行されています。デフォルトでは、vagrantはゲストの/ opt / vagrant_ruby / bin/puppetの下にpuppet2.7.14をインストールします。
puppet 3.0や3.1などの最新バージョンを使用するようにvagrant(またはゲストにpuppetをインストールする人)を構成するにはどうすればよいですか?
また、パペットプロビジョナーの前に指定されたシェルプロビジョナーでパペットを更新することもできます。Vagrantのドキュメントで述べられているように:
複数
config.vm.provision
の方法を使用して、複数のプロビジョナーを定義できます。これらのプロビジョナーは、定義された順序で実行されます。これはさまざまな理由で役立ちますが、最も一般的には、シェルスクリプトがシステムの一部をブートストラップして、別のプロビジョナーが後で引き継ぐことができるようにするために使用されます。
CentOS6の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
vagrantで使用しているベースボックスを再構築し、必要なバージョンのPuppetをインストールする必要があります。Cent 6.3 w /puppet3.0でも同じことをしました。Veewee gemは、OracleVirtualbox用のVagrantベースボックスを構築および管理するための優れたユーティリティです。