Vagrant 1.4.0 で private_network を指定しているとエラーになる件
Vagrant 1.4.0 で追加された Docker provisioner などを試してみたいと思い、勇んでアップデートしてみたところ vagrant up でエラー。
・ ・ ・ [default] Configuring and enabling network interfaces... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /sbin/ifdown eth1 2> /dev/null Stdout from the command: Stderr from the command:
どうも CentOS などの Redhat 系 OS を使っている場合に private_network を指定してるとなるっぽい・・・。
以下の Issue が上がっていました。
"Configuring and enabling network interfaces" fails with ssh error · Issue #2614 · mitchellh/vagrant
https://github.com/mitchellh/vagrant/issues/2614
この Issue で上げられていた以下のパッチで直るみたいです。
Merge pull request #2628 from makern/ifdown-fix · 70b662e · mitchellh/vagrant
https://github.com/mitchellh/vagrant/commit/70b662e3073c5a6aed2374ca289f8818f8ef8ed1
取りあえずすぐ動かしたかったので、アップデートのリリースを待たずに当ててみました。
Windows だと該当のファイルはデフォルトでは以下の場所にあります。
C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.4.0\plugins\guests\redhat\cap\configure_networks.rb
コード量も多くなかったのと面倒だったので元のファイルをバックアップしておいて、直接編集してしまいました。
上の URL の [View file] をクリックして次の画面で [RAW] をクリック。
この内容をコピーして、先ほど見つけた該当のファイルに貼り付けるだけ。
これで一応手元の環境では無事起動できるようになりました。
それにしても久しぶりにバージョンアップ時の地雷踏んだなー。