最近Vagrant+Berkshelf+Chef-Soloを使い始めて真っ先に躓いたのですが、日本語の情報がなくて困ったのでメモします。
まずは berks cookbook
で Berksfile
, Vagrantfile
, クックブックテンプレート一式を生成します。
$ bundle exec berks cookbook awsdev1
Berksfile, Vagrantfileをごにょごにょ編集して
# Vagrantfile
# (snip)
config.vm.provision :chef_solo do |chef|
chef.json = {
:mysql => {
:server_root_password => 'rootpass',
:server_debian_password => 'debpass',
:server_repl_password => 'replpass'
}
}
chef.run_list = [
"recipe[awsdev1::default]"
]
# (snip)
そして vagrant up
。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
SSH:
* The following settings don't exist: max_tries, timeout
vagrant up
に失敗します。どうしてこうなった・・・。
VagrantとBerkshelfのバージョンを確認します。
$ vagrant -v
Vagrant 1.3.1
$ bundle exec berks -v
Berkshelf (2.0.10)
このエラーメッセージで検索すると
とあり、現状のBerkshelfはVagrant 1.3系以前のVagrantfileを吐き出すため、Vagrant 1.3系ではVagranfileのエラーになるようです。
コード上では既に修正されているようですが、バージョンが3.0.0bなので正式配布バージョンは2.0.10が最新のようなのでまだ我慢が必要なようです。
修正の仕方としては
# Vagrantfile
config.ssh.max_tries = 40
config.ssh.timeout = 120
を
# Vagrantfile
config.vm.boot_timeout = 120
とすることです。これで vagrant up
可能となりました。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Clearing any previously set forwarded ports...
[Berkshelf] This version of the Berkshelf plugin has not been fully tested on this version of Vagrant.
[Berkshelf] You should check for a newer version of vagrant-berkshelf.
[Berkshelf] If you encounter any errors with this version, please report them at https://github.com/RiotGames/vagrant-berkshelf/issues
[Berkshelf] You can also join the discussion in #berkshelf on Freenode.
[Berkshelf] Updating Vagrant's berkshelf: '/Users/noguchiwataru/.berkshelf/default/vagrant/berkshelf-20131123-28724-12c9te-default'
[Berkshelf] Using awsdev1 (0.1.0)
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Machine booted and ready!
[default] Setting hostname...
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /tmp/vagrant-chef-1/chef-solo-1/cookbooks
参考サイト
- removed config.ssh.max_tries settings from Vargrantfile Template cause backwards incompatibility by bguse · Pull Request #856 · berkshelf/berkshelf
- removed config var · 7b69b38 · berkshelf/berkshelf
- berkshelf/lib/berkshelf/version.rb at 7b69b389fa29f4636c55e2a6a3cf73b172395901 · berkshelf/berkshelf
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート