読者です 読者をやめる 読者になる 読者になる

Vagrant with chef_solo provision で Cookbook や Recipe の変更が適応されない問題

tl;dr;

synced_folders というファイルを削除する。

rm .vagrant/machines/default/vmware_fusion/synced_folders
vagrant provision

環境

検証したのは以下の環境。ちなみに、vagrant_1.6.5 の時は問題なかった。

補足

最初に結論を持ってきたのでココからは補足。

今年に入って Vagrant のバージョンを上げてから、レシピを更新してから vagrant provision をしても反映されないなーと思って悩んでいる所、1つ気づいたことがあって。

# 今までうまく言ってた時の出力
==> default: Rsyncing folder: /Users/ikosin/works/tmp_vagrant_project/ => /vagrant
==> default: Rsyncing folder: /Users/ikosin/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150216-6787-bols2e-default/ => /tmp/vagrant-chef/d23a7e0cb4c9516857e4b63ec4137d2b/cookbooks
==> default: Running chef-solo...

# 更新されない時の出力
==> default: Rsyncing folder: /Users/ikosin/works/tmp_vagrant_project/ => /vagrant
==> default: Running chef-solo...

こんな感じで、.berkshelf 以下の Cookbook が Rsync の対象になってない。

一応、Issue は上がってる。 Problem reloading Chef shared folders · Issue #5199 · mitchellh/vagrant

別の問題を回避するために今回の挙動になったみたいなので、今後どのような解決に落ち着くのかわからないが、ひとまず毎回こんな感じで実行してる。

rm .vagrant/machines/default/aws/synced_folders && vagrant provision