Berkshelfの生成するVagrantfileでのvagrant upが失敗する件について

Pocket
LINEで送る

この記事の所要時間: 626

最近Vagrant+Berkshelf+Chef-Soloを使い始めて真っ先に躓いたのですが、日本語の情報がなくて困ったのでメモします。
まずは berks cookbookBerksfile, Vagrantfile, クックブックテンプレート一式を生成します。

[text]
$ bundle exec berks cookbook awsdev1
[/text]

Berksfile, Vagrantfileをごにょごにょ編集して

[ruby]
# 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)
[/ruby]

そして vagrant up

[text]
$ 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
[/text]

vagrant up に失敗します。どうしてこうなった・・・。

VagrantとBerkshelfのバージョンを確認します。

[text]
$ vagrant -v
Vagrant 1.3.1

$ bundle exec berks -v
Berkshelf (2.0.10)
[/text]

このエラーメッセージで検索すると

removed config.ssh.max_tries settings from Vargrantfile Template cause backwards incompatibility by bguse · Pull Request #856 · berkshelf/berkshelf

とあり、現状のBerkshelfはVagrant 1.3系以前のVagrantfileを吐き出すため、Vagrant 1.3系ではVagranfileのエラーになるようです。
コード上では既に修正されているようですが、バージョンが3.0.0bなので正式配布バージョンは2.0.10が最新のようなのでまだ我慢が必要なようです。

修正の仕方としては

[ruby]
# Vagrantfile

config.ssh.max_tries = 40
config.ssh.timeout = 120
[/ruby]

[ruby]
# Vagrantfile

config.vm.boot_timeout = 120
[/ruby]

とすることです。これで vagrant up 可能となりました。

[text]
$ 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
[/text]

参考サイト

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

人気の記事

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP

%d人のブロガーが「いいね」をつけました。