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