vagrantにバージョンアップをしたら動かなくなったのを修正する。

  • 5
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

概要

もともと、test kitchen を回していたのだが、昨日から
いくつもテストが壊れていて、ログを見ると
かなり早い段階で、とまっていた。

昨日システムの更新をしていろいろパケージのバージョンが上がったためだと考えられた。
その中に vagrant があり、1.7.4 になった。

解決方法

最終的に、以下の方法にした。
実行前に、vagrantのpluginのリストを取得しておくこと。
また、以下のコマンドを実行したら、いままでとってきていたboxの元のイメージとか、vagrant-cachierのデータとかもなくなるので、
キャッシュに期待して、早く終了することが期待されるテストは失敗するときがある。

rm -rf ~/.vagrant.d

でてきたエラーログなど

gem の更新などもおこなったがどうもうまくいかなかった。
以下は特徴的なエラーにおもったので、メモ。

cannot load such file -- hitimes/hitimes

以下のログがでてきて、hitimes/hitimesに関して調べたところ
似たような問題の人はいたようだ。

kitchen converge default-ubuntu-1404
-----> Starting Kitchen (v1.4.1)
/home/hoge/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/httpclient-2.6.0.1/lib/httpclient/webagent-cookie.rb:458: warning: already initialized constant HTTPClient::CookieManager
/home/hoge/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/httpclient-2.6.0.1/lib/httpclient/cookie.rb:8: warning: previous definition of CookieManager was here
-----> Creating <default-ubuntu-1404>...
      Vagrant failed to initialize at a very early stage:

      The plugins failed to load properly. The error message given is
      shown below.

      cannot load such file -- hitimes/hitimes
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #create action: [Expected process to exit with [0], but received '1'
---- Begin output of vagrant up --no-provision --provider virtualbox ----
STDOUT:
STDERR: Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

cannot load such file -- hitimes/hitimes
---- End output of vagrant up --no-provision --provider virtualbox ----
Ran vagrant up --no-provision --provider virtualbox returned 1]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

一度削除して再インストールしてみた

gem uninstall hitimes
gem install hitimes

エラーが変わったくらいだった(と、おもう)

incopatible library version

その後、適当なディレクトリで、vagrant initできるか試してみた時のログ

$ vagrant init
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

incompatible library version - /home/hoge/.vagrant.d/gems/gems/nio4r-1.1.0/lib/nio4r_ext.so

このあたりで、なにか大きな間違いをしているのかもしれないとおもい、
最終的にいたる。

rm -rf ~/.vagrant.d/

vagrant plugin も整理できたのでよしとする。