knife soloは内部的にberkshelfを呼び出している
スタックトレースを調べてみたらそれがわかった。
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/location.rb:114:in `new'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/location.rb:114:in `validate_cached'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/locations/git_location.rb:120:in `local_revision'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/locations/git_location.rb:56:in `do_download'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/location.rb:90:in `download'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/dependency.rb:154:in `download'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/downloader.rb:29:in `download'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/installer.rb:30:in `block in run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/installer.rb:27:in `each'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/installer.rb:27:in `run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/berksfile.rb:351:in `install'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/berkshelf-3.0.0.beta4/lib/berkshelf/berksfile.rb:604:in `vendor'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/knife-solo/berkshelf.rb:25:in `install!'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/knife-solo/cookbook_manager.rb:94:in `install'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/chef/knife/solo_cook.rb:203:in `berkshelf_install'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/chef/knife/solo_cook.rb:85:in `block in run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/chef/knife/solo_cook.rb:195:in `time'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/knife-solo-0.4.1/lib/chef/knife/solo_cook.rb:71:in `run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/chef-11.12.4/lib/chef/knife.rb:492:in `run_with_pretty_exceptions'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/chef-11.12.4/lib/chef/knife.rb:174:in `run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/chef-11.12.4/lib/chef/application/knife.rb:135:in `run'
~/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/chef-11.12.4/bin/knife:25:in `<top (required)>
実際、この辺にそういうコードがある。
https://github.com/matschaffer/knife-solo/blob/master/lib/knife-solo/berkshelf.rb