質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Chef

ChefはRuby等で書かれた構成管理ツールです。 システム構築や、運用作業を自動化してくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

4303閲覧

Windows版のみvagrant reload時にエラーが発生する

k.tada

総合スコア1679

Chef

ChefはRuby等で書かれた構成管理ツールです。 システム構築や、運用作業を自動化してくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2015/10/02 08:38

編集2015/10/05 01:36

Vagrant + ChefでRailsの環境を構築しています。
初回のvagrant up時は成功するのですが、
Windows上のVagrantでのみ、2回め以降のvagrant upおよびvagrant reload時に下記のエラーが発生します。
※ 長いので、途中で省略しております。
お手数ですがログの全文はこちらを参照ください。

==> default: Attempting graceful shutdown of VM... ==> default: Clearing any previously set forwarded ports... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat default: Adapter 2: hostonly ==> default: Forwarding ports... default: 22 => 2222 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: Warning: Connection timeout. Retrying... default: Warning: Remote connection disconnect. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Configuring and enabling network interfaces... C:/HashiCorp/Vagrant/embedded/gems/gems/net-scp-1.1.2/lib/net/scp.rb:392:in `await_response_state': use v4.0.0 (RuntimeError) from C:/HashiCorp/Vagrant/embedded/gems/gems/net-scp-1.1.2/lib/net/scp.rb:363:in `block (3 levels) in start_command' from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:311:in `call' from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.9.2/lib/net/ssh/connection/channel.rb:311:in `process' from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:223:in `block in preprocess' from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:223:in `each' from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-2.9.2/lib/net/ssh/connection/session.rb:223:in `preprocess' (略)

Vagrantfileは以下のとおりです。

Vagrant.configure(2) do |config| config.vm.box = "centos65" config.vm.network "private_network", ip: "192.168.33.10" config.ssh.forward_agent = true # config.vm.provider "virtualbox" do |vb| # vb.gui = true # end config.vm.provision "chef_solo" do |chef| chef.cookbooks_path = "chef/site-cookbooks/" chef.add_recipe "yum" chef.add_recipe "git" chef.add_recipe "node" chef.add_recipe "ruby" end config.omnibus.chef_version = :latest end

使用しているバージョンは下記のとおりです。

  • VirtualBox 4.3.30
  • Vagrant 1.7.4

※ VirtualBoxを5.0にしても同様の現象が発生しました。

一向にエラーが解消できないので、解決策ご存知の方がいれば教えてくださいm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

# まず、ログをご連携頂く際のお願いを少し・・・

大量のログが出力されるので、必要のない「行」を除外するのはやむを得ないことです。
また、IPアドレスやユーザー名などを伏せ字にするのも当たり前です。
しかし、せっかくご連携頂いた行の後半を「・・・」と省略されてしまうと、実は調査に役立つ情報(ヒント)の多くが失われてしまうことがあります。
というのは、ネット上の膨大で雑多な情報から関連情報を見つけ出すには、個別の単語ではなく「特定のフレーズ」こそが重要なので。

ですので、ご連携頂くのであれば「行単位」に可能な限り「そのまま」の形で貼り付けてください。

さて、本題ですが、正直なところご連携頂いた情報だけでは原因の特定は困難です。

しかしながら、k.tadaさんご自身が解決の糸口を既に示されていますよね!?

ポイントを繰り返すと
0. 初回は成功するが2回目以降はNG
0. NGなのは Windows上の環境だけ

ということは、少なくとも以下のケースでのOKだった場合のログがあるということはではないでしょうか。
0. Windows上で初回に成功するパターン
0. Windows以外の環境で初回に成功するパターン
0. Windows以外の環境で2回目以降も成功するパターン

これらを比較することで、失敗するケースではどこが違っているのかが見えてくる筈です。

そもそも、chefのような構成管理ツールで「2回目以降に失敗」する原因の多くが、定義(レシピ)の冪等性が満たされていないことにあるようですけれども、Windowsの場合だけNGなのであれば、そこに重要なヒントが隠れている可能性が高いです。

そのような観点で、もう一度ログを眺めてみてはいかがでしょうか。


【2015/10/08 0:35 追記】

すっかり遅くなりましたが、その後進展はありましたでしょうか?

ところで、

エラーの内容が「 `await_response_state': use v4.0.0 (RuntimeError)」とあることから、依存ライブラリのいずれかのバージョン不正なのかなというところまでは追えたのですが

とのことでしたが、その前に ssh接続に失敗 していることから、この「RuntimeError」は副次的なエラーであって主原因ではないと思います。

それで、まずは以下のような点をご確認頂き、もし改善しなければさらに別の原因を疑うという方向でご対応頂ければと思います。

  1. 仮想化支援機構が有効化されているかBIOSの設定を再確認する(ご参考
  2. アンチウィルスソフト・ファイヤーウォールで 2222番ポートが塞がれていないか確認する
  3. 他のプロセスによって 2222番ポートが専有されていないか確認する

投稿2015/10/02 12:14

編集2015/10/07 15:35
pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k.tada

2015/10/05 01:41

ご回答ありがとうございます。 > ですので、ご連携頂くのであれば「行単位」に可能な限り「そのまま」の形で貼り付けてください。 ログを全文載せると書き込みができなかったため省略しておりました。 本家VagrantのIssueの方にも上げており、そちらにログの全文を載せておりますので、ご参照いただけますでしょうかm(_ _)m ※ 本文にIssueへのリンクを記載しました。 ご回答頂いた内容についてですが、まずログを参照してもらうと分かる通り、Chefまでたどり着いておらず、Vagrantのネットワーク設定でこけているようです。 また、エラーの内容が「 `await_response_state': use v4.0.0 (RuntimeError)」とあることから、依存ライブラリのいずれかのバージョン不正なのかなというところまでは追えたのですが、その後の調査で詰まっております。 同様のエラーに遭遇した人がいればと思い、質問させていただいた次第です。 ※ その点、本文に書けばよかったですね。。。
pi-chan

2015/10/06 03:44

大変失礼致しました、確認不足でした。 元よりログを抜粋せざるを得ないことは重々承知しておりますが、最初確認した時に使用したモバイル版のChromeでは表示乱れが発生する為に、質問欄に貼り付けられたログの「行」が途中で切れている(省略されている)ように見えただけでした・・・ ところで、コメント欄では読みにくいため、追加で確認したい事柄、その他については、後ほど回答欄に追記致しますので、しばらくお待ちください。
k.tada

2015/10/28 01:44

>>pi-chan様 うわー、すみません。自分の質問を長い間確認しておりませんでした汗 何も応答できず、本当に申し訳ございません。。。 当時は事情があってWindowsで作業をしており、この問題に直面していたのですが、その後はMac上のVagrantで開発を行っており、問題は発生しておりませんでした。 また、Windowsで作業することがあり、その際に同様の問題が発生したら改めて質問させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問