以前にVMインスタンスが再プロビジョニングされている場合は、再プロビジョニングを回避するためにシェルプロビジョナーを取得しようとしています。
次のVagrantfileについて考えてみます。
Vagrant::Config.run do |config|
config.vm.define :minimal do |config|
# Base image
config.vm.box = "lucid32"
config.vm.box_url = "http://files.vagrantup.com/lucid32.box"
config.vm.provision :shell, :inline => "mkdir /tmp/foobar"
end
end
を実行するvagrant up minimal
と、ボックスが作成され、最初にプロビジョニングされます。次に実行vagrant provision minimal
すると、ボックスの再プロビジョニングが試行されますが、失敗します(/ tmp / foobarディレクトリがすでに存在するため)。
Vagrantに過去にマシンをプロビジョニングしたかどうかを記憶させ、後で再プロビジョニングしないようにする方法はありますか?
その他のコンテキスト:実行vagrant up minimal
し、ホストマシンを再起動してvagrant up minimal
から再度実行すると、ボックスの再プロビジョニングが試行され、失敗します。VirtualBoxがホストマシンでカーネルパニックを頻繁に引き起こすため、これはかなり頻繁に発生します。