Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
`vagrant provision` with chef-solo fails with NFS and/or VMware Fusion as the mount breaks #88
The simplest setup to repro this is to have a Berksfile:
site :opscode cookbook 'ckbk'
Vagrant.configure('2') do |config| config.vm.box = 'precise32' config.vm.network :private_network, ip: '192.168.33.10' config.vm.provision :chef_solo do |chef| chef.nfs = true chef.add_recipe 'ckbk' end end
I don't know when this broke with the Fusion provider, as it definitely worked after #24. NFS might have had problems all the time. Dunno.
I'm not sure how to fix this. I don't know if it is possible to fix the mounts in a cross-FS/OS way. The best would probably be to avoid removing the local directory but that requires changes in Berkshelf, too.
Poking also @mitchellh hoping he has some good easy solution. =)
PS: Thanks for all the hard (FOSS) work!
Just a note that
Anyway, based on comments in berkshelf/berkshelf#525 it seems that Berkshelf unfortunately won't change it behavior, so vagrant-berkshelf should use a temp directory where it vendors the cookbooks, and then copies those into the synced directory.
The badass (
If that gets rejected, then vagrant-berkshelf should get a safe tempdir path (but delete the dir),
rsync would be faster, but unfortunately it is not very portable (Windows, anyone?).
My solution was to place
config.vm.provision "chef_solo" do |chef| chef.cookbooks_path = "./chef/cookbooks" end
where the directory
For what it's worth, here's a hacky patch to get