akishin999の日記

調べた事などを書いて行きます。

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] をクリック。

https://raw.github.com/mitchellh/vagrant/70b662e3073c5a6aed2374ca289f8818f8ef8ed1/plugins/guests/redhat/cap/configure_networks.rb

この内容をコピーして、先ほど見つけた該当のファイルに貼り付けるだけ。
これで一応手元の環境では無事起動できるようになりました。

それにしても久しぶりにバージョンアップ時の地雷踏んだなー。